- 数据成员是引用
class A { private: int &n; public: A(int &y):n(y) {} };
引用必须在定义时直接初始化。
- 数据成员时某个对象,其对象的构造函数需要带参数
class Test { private: int x; int y; int z; }; class Mytest { public: Mytest():test(1,2,3) {} };
- 创建派生类对象时,其基类构造函数需要带参数
派生类的构造函数需要给基类的构造函数传递参数
- 数据成员是常变量
class A { private: const int m; public: A(int x):m(x) {} };
常变量必须在定义时直接初始化