要注意的是,在菱形继承中,基类的初始化只有两种方式
-
在 HighStudent 的构造函数中调用 Person 的构造函数,即 … : Person(name), Student(name,age) …
-
在 Person.h 中给 Person 的构造函数增加默认值,比如「Person(const string &name = “shiyanlou”);」
不可以通过派生类的中层初始化基类的构造函数
多重继承和菱形继承结合
这里的基类1的构造函数初始化需要通过4进行,所以基类1的初始化路径为7->4->1,而不能直接7->1.