(1)调用内嵌对象的构造函数,调用顺序按照内嵌对象在组合类的定义中出现的次序。而内嵌对象在构造函数的初始化列表中出现的顺序与内嵌对象构造函数的调用顺序无关。
(2)执行本类构造函数的函数体。
如果有些内嵌对象没有出现在构造函数的初始化列表中,那么在第一步中,该内嵌对象的默认构造函数将被执行
有些数据成员的初始化必须在构造函数的初始化列表中进行,这些数据成员包括两大类,一类是那些没有默认构造函数的内嵌对象——因为这类对象初始化时必须提供参数,另一类是引用类型的数据成员——因为引用型变量必须在初始化时绑定引用的对象。如果一个类包括这两类成员,那么编译器不能够为这个类提供隐含的默认构造函数,这时必须编写显式的构造函数,并且在每个构造函数的初始化列表中至少为这两类数据成员初始化。