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