- 常量数据成员:必须在初始化列表中进行初始化、且不能被赋值
- 引用数据成员:必须在初始化列表中进行初始化、由于本质是指针常量,所以占用8个字节的内存空间。
- 对于类对象成员:如果将一个类创建的对象作为另外一个类的数据成员的时候(子对象的时候),必须要在另外一个类的初始化表达式中进行显示初始化,否则就会调用子对象的默认构造函数
- 静态数据成员:静态数据成员的初始化不能放在初始化列表当中,必须放在全局静态的位置,特别的,对于头文件与实现文件的形式,要将静态数据成员的初始化放在实现文件中,否则会导致重定义的问题。sizeof(类),类中静态数据成员不占大小。
- 静态成员函数没有this指针
- 静态成员函数不能访问类中其它非静态数据成员与非静态成员函数
- 非静态成员函数能访问类中其它静态数据成员与静态成员函数,静态成员在类中全局共享
- 静态成员函数可以通过作用域限定符的方式调用
- 静态成员函数不能使用类型限定符,如const
这个声明表示任这个函数不会修改类中的数据成员。如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员函数,编译器将指出错误,这无疑会提高程序的健壮性
- 默认情况下,非const对象调用的是非const版本的成员函数;如果没有非const版本的话,也可以调用const版本的成员函数。
- const对象调用的是const版本的成员函数,但是不能调用非const版本的成员函数,优先定义const版本的成员函数



