初始化 , 所有的构造函数都要进行初始化操作 ;
一、构造函数 和 析构函数 调用顺序 说明
1、构造函数调用顺序
在一个类 C 中 , 嵌套了 A 和 B 两个类类型的 对象 作为 成员变量 ;
构造函数的...B 类型成员变量
没有 无参构造函数 , 上面声明的 A 和 B 两个对象便无法创建成功 ;
此时 , 只能在 构造函数的 初始化列表 中 , 调用 A 和 B 的 有参构造函数 创建 A B 两个成员变量...由于 A 和 B 都无法使用 无参构造函数 , 因此在 类 C 的所有构造函数 ( 包括 拷贝构造函数 ) 的 初始化列表中 , 必须强制调用 A 和 B 的 有参构造函数 ;
此外由于 还定义了 const...int m_const_int 常量成员 , 类 C 的 所有构造函数 ( 包括 拷贝构造函数 ) 的 初始化列表中 , 同时也必须强制对 常量成员进行初始化 ;
C() : m_age(10),...成员是常量 , 只能初始化一次 , 不能赋值 ,
// 因此也必须在初始化列表中进行初始化
cout 构造函数" << endl;
}
~C()
{
cout