C++中有四类特殊的数据成员,分别是常量成员、引用成员、类对象成员以及静态成员,以上成员的初始化和使用方式
与普通数据成员有所不同。
常量成员:该成员由const关键词修饰,代表该成员一经初始化,便不能在程序中修改,所以该成员必须在构造函数的初始化
表达式中进行初始化,不能在函数体内赋值。
引用成员:引用成员的真实含义是 int * const p,用指针常量指向一个变量,然后使用这个指针常量去访问变量,在定义时,
应当使用 int &p = a;这种形式。而且因为使用了const,所以也要在构造函数的初始化表达式中进行初始化。这种成员,个人感觉
可以用作两个不同对象之间进行通信。。
类对象成员:顾名思义,该成员是另一个类的对象,比方说一个大的类里面可能包含一些小的类,这时就可以在类里面再定义一个类对象,
至于初始化,就可以在构造函数内传入对应的类对象进行初始化。
静态成员:静态关键字static,使用该关键字修饰变量,这样成员在编译时就已经被创建并且初始化,不赋值默认零,
并且实例只有一个,被所有该类的对象共享,程序执行时一直存在,一直到程序结束,任何该类的对象都能对其访问,
静态数据成员的初始化必须在类的申明之外进行,而且不再包含static关键字,格式你懂的。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
C++中还有静态成员函数以及const成员函数
静态成员函数:成员函数加上static关键字修饰可以定义成静态成员函数,编译时就已经创建了一个实体,被该类的所以对象共享,
并且该函数只可以访问静态成员和静态成员函数。而且静态函数因为在编译时已经生成了,所以不需要定义类也可以直接使用,但一般由对象来调用。
const成员函数:成员函数在定义时,在参数列表后加上一个const,代表该函数为const成员函数,const函数只能读取类数据成员,不能进行修改,
也只能调用const成员函数,
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
对象能进行的操作例如指针、数组、引用都跟C语言类似,把类当成一个基本类型即可。