1. 初始化参数列表的执行顺序
参数初始化顺序与初始化表列出的变量的顺序无关,参数初始化顺序只与成员变量在类中声明的顺序有关。
2. 初始化参数列表的使用 => 初始化const
参数初始化表还有一个很重要的作用,那就是为 const 成员变量初始化, 是初始化const的唯一方式。
class Array{public: Array(){ length = 0; //compile error,此时默认构造函数 重新为 length 赋值为 0,这是无法通过编译的。 num = NULL; };private: const int length; int * num;};
正确形式
class Array{public: Array(): length(0){ num = NULL; };private: const int length; int * num;};