1.组合
类的组合描述的就是一个类内嵌其他类的对象作为成员的情况,它们之间的关系是一种包含与被包含的关系。
例如:用一个类来描述计算机系统,它可以被分成不同的部分,每个部分可以看做一个类,因此,计算机系统就是一个类的组合。
当创建类的对象时,若这个类具有内嵌对象成员,那么各个内嵌对象将被自动创建。在创建对象时既要对本类的基本类型数据成员进行初试化,又要对内嵌对象成员进行初始化。
此时,我们需要了解这些构造函数被调用的顺序。
组合类构造函数定义的一般形式:
类名::类名(形参表):内嵌对象1(形参表),内嵌对象2(形参表),……
标注下划线的部分称作初始化列表,对内嵌对象进行初始化。
构造函数的调用顺序如下:
- 调用内嵌对象的构造函数(按照其在组合类的定义中出现的次序,注意:不是在初始化列表中出现的顺序)
- 执行本类构造函数的函数体
析构函数的调用执行顺序与构造函数相反。