构造函数有个特殊的初始化方式叫“初始化表达式表”(简称初始化表)。初始化表 位于函数参数表之后,却在函数体 {} 之前。这说明该表里的初始化工作发生在函数体 内的任何代码被执行之前。 构造函数初始化表的使用规则:
??1.如果类存在继承关系,派生类必须在其初始化表里调用基类的构造函数。 例如 class A {… A(int x); // A 的构造函数 };
class B : public A {… B(int x, int y);// B 的构造函数 };
B::B(int x, int y): A(x) // 在初始化表里调用A 的构造函数 { … }
??2.类的const 常量只能在初始化表里被初始化,因为它不能在函数体内用赋值的方式 来初始化
??3. 类的数据成员的初始化可以采用初始化表或函数体内赋值两种方式,这两种方式的 效率不完全相同。 
|