这里先给出结论,在贴出代码与执行结果~
一个派生类构造函数的执行顺序如下:
第一步执行:虚拟基类的构造函数(多个虚拟基类则按照继承的顺序执行构造函数)。
第二步执行:基类的构造函数(多个普通基类也按照继承的顺序执行构造函数)。
第三步执行:类类型的成员对象的构造函数(按照初始化顺序)。
第四部执行:派生类自己的构造函数。
如果一个派生类不仅继承于一个基类,而且还有这个基类的成员对象,那么会进行两次构造函数的执行(一个用于初始化派生类中基类部分的内部成员,另一个是初始化派生类的基类类型成员变量的内部成员),详细看派生类Son2的执行结果。
你
下面声明了A,B,C,D,Object1,Object2留个基类以及Son1,Son2,Son3,Son4,Son5(Son5