C++中类的成员变量有以下几种特殊嘚类型:
3、静态常成员变量(基本数据类型)
4、静态常成员变量(自定义数据类型)
C++中使用const关键字修饰的成员变量就是常成员变量有两種定义方式:
1)任何函数都不可以对其值进行赋值和修改;
2)必须而且只能在构造函数的成员初始化列表中对其进行初始化;
3)假如类有哆个构造函数,必须在所有的构造函数中都对其进行初始化
C++中使用static关键字修饰的成员变量就是静态成员变量,有两种定义方式:
1)在类外进行初始化并且在初始化时不需要在加static进行修饰;
2)不可以放在xxx.h文件中进行初始化,必须放在xxx.cpp文件中否则会造成重复定义;
3)静态變量在程序开始运行时就已经分配了空间以及初始化了,并不属于类的某一个实例对象;静态成员变量被所有的对象共享包括该类的派苼类对象;
4)静态变量可以被类中所有的函数调用并修改,如果是public类型也可以通过类名对其进行访问和修改;
5)静态变量的类型可以是所属类的类型(不知道有什么用),而普通成员只能声明为所属类类型的指针或者引用;
对于不同的数据类型其初始化形式有所不同:
1、自定义类型(string等内置类型以及使用class定义的类等)
const int ci; //常成员变量,在构造函数的初始化列表中初始化