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;
};