C++学习笔记 第二十课 初始化列表的使用
学习笔记内容来自:狄泰软件学院 唐佐林老师 的视频,十分感谢您的指导 初始化成员列表 1.初始化成员列表在构造函数的函数体之前 2.初始化成员列表的初始化顺序跟写代码的顺序无关,只跟成员的声明顺序有关 类中的const成员 1.类中的const成员的初始化只能在构造函数的初始化列表中进行初始化 2.类中的const成员会被分配空间 3.类中的const成员的本质是只读变量 注意 1.编译器无法直接得到const成员的初始值,因此无法进入符号表成为真正意义上的常量。 2.构造函数的函数体在执行之前,对象已经被创建好了,构造函数的函数体只不过是为了初始化对象的各种成员 示例程序: class School { private : const int ID ; const string name ; public : //执行的顺序是先给ID初始化,再给name初始化,因为ID先声明,name后声明 School ( ) : name ( "GDUT" ) , ID ( 66666 ) { } void setID ( int id ) { int & p = const_cast < int & > ( ID ) ; p = id ; } int getID ( ) const { return this - > ID ; } } ; int main ( ) { School s ;