一、类对象作为成员变量时的构造函数问题
1、问题描述
如果 一个类 A 的对象 作为 另外一个类 B 的成员变量时 ,
在以下场景会报错 :
为类 A 定义 有参的 构造函数 , 那么 A 的无参默认构造函数就失效了...;
此时使用 默认无参构造函数 初始化 B , 就会报错 ;
在一个类中 , 其成员变量是 带有参构造函数 的类型 , 这种情况下没有调用 有参构造函数的机会 , 此时就会出现 编译报错情况 ;
在下面的代码中...无参构造函数创建 A 对象 , 但是 A 的 无参构造函数无法使用 , 必须使用 A 的有参构造函数 , 这里就出现问题 , 报错 “B::B(void)”: 由于 数据成员“B::m_a”不具备相应的...(成员变量值) , 成员变量名称(成员变量值)
{
// 构造函数内容
}
构造函数初始化列表 位置在 构造函数 的 参数列表之后 , 冒号 : 与花括号 {} 之间 ;
使用 逗号 , 分隔 ;...初始化列表中的元素由 成员变量的名称 和 初始值组成 , 使用等号 = 连接 ;
在下面的代码中 , 为 B 类定义了默认的构造函数 , 其中定义了 构造函数 初始化列表 ;
在 初始化列表中 ,
m_age