类组合
-
类组合:一个类内嵌其它类的对象的情况 (存在包含与被包含关系)
-
组合类构造函数
-
函数定义 类名::函数名(形参表):内嵌对象(形参表),内嵌对象(形参表){ 类的初始化 } 内嵌对象(形参表),内嵌对象(形参表) ----初始化列表(列表中内嵌对象出现顺序与构造函数调用顺序无关,与类中定义顺序有关) !tip ! 一般数据类型初始化 ( 类名::函数名(形参):数据对象(形参) )
-
以下三种情况下需要使用初始化成员列表:
情况一、需要初始化的数据成员是对象的情况(这里包含了继承情况下,通过显示调用父类的构造函数对父类数据成员进行初始化);
其中,这个对象只有含参的构造函数,因此不存在默认构造函数。
(若没显示声明构造函数,存在默认构造函数,若显示声明后只存在含参构造函数,因此必须初始化)情况二、需要初始化const修饰的类成员或初始化引用成员数据;
const 和 引用成员 必须初始化情况三、子类初始化父类的私有成员;