10.1 声明类

Posted: March 26, 2011 in C++

/*
这里进入了面向对象编程.
说面向对象,其实很好理解,就是一个东西,他有什么,你就可以用什么.

比如:有辆车,车就是一个对象.他有什么?轮子,玻璃,引擎等等.
那可以用它们做什么?轮子可以跑,玻璃可以挡雨,引擎可以加速.
你要做的就是想着这个车,来造出你的有轮子,玻璃和引擎的车.
这就是面向对象编程.

首先,要声明一个类,就是说你要造的大概是个什么东西,比如这里的车.
然后你要说,这个车都有什么特征.
比如有轮子,玻璃,引擎.那轮子,玻璃,引擎大概有多大?
知道了这些,就可以声明一个类了.
声明以后,你放了什么特征进去,就只能用你声明过的特征和功能.
比如你想开车载GPS,但是如果你没有放入车的特征,是不能使用的.
你只能使用轮子,玻璃和引擎.除非你声明加多GPS功能.
如果要用某一功能的话,还需要加多开启功能.比如你要声明”打开GPS”.
如果不声明,只有GPS也只能成为摆设.
但是这里又有一个问题,就是你是要造私家车,还是要造辆公用车.
即:private和public.如果没有预先声明,就会默认你要造私家车,即private.
对你的隐私的一种保护.但问题是,其他人都不能随便使用你的私家车,
更进一步,更不能随便使用你的车的功能.
所以,如果你想让大家都能来使用你造的车,就把它定义为公用车.
这样大家就可以方便的使用了.

声明以后,你也可以给你的不同车取不同的名字,如BMW,benz等等.
这样,所有的BMW或者benz就都有轮子,玻璃,引擎或者GPS的特征了.
然后,你在放入”引擎加速”,”开启GPS”等的功能.
也就是说你声明了类(车)之后,以及成员函数(开启GPS)和成员变量(GPS).

在其他函数中你可以定义对象,,如定义了对象(BMW).
对象可以定义多个,Benz,Honda.它们同样具有上述特征和功能.

*******************************************

class 类名
{
public:
            类型 变量名;
            返回类型 函数名();
private:
            类型 变量名;
            返回类型 函数名();
};

*************最后的分号不能忘**************
void main()
{
             类名 对象;
             对象.变量名;
             对象.函数名();
}

*****************点不能忘******************
*/

#include <iostream>

using namespace std;

class Cat //这里声明Cat类
{
public://声明为公有,这样其他函数就可以访问这个类了,否则是无法访问的,默认是私有
            int Age;//Cat的特征包括年龄和体重
            int Weight;
            void Eat();//Cat可以吃东西
};

void main()
{
            Cat Frisky;//声明一只叫Frisky的Cat,当然声明多少只都可以.
            Frisky.Age=2;//Frisky也有年龄和重量
            Frisky.Weight=100;
            Frisky.Eat();//Frisky可以吃东西
            cout<<“I am “<<Frisky.Age<<” years old.”<<endl;
            cout<<“And I am “<<Frisky.Weight<<” g.”<<endl;
}
void Cat::Eat()
{
             cout<<“I can eat.”<<endl;
}
//这样一个简单类就声明完成了.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s