对于cpp的类的继承:

对于cpp的类的继承:

 

  1. 继承的优先:如对于声明,如果类的继承先声明的先初始,析构相反;

  2. 虚基类最先初始化;

  3. 由图得对象I先调用其派生类(派生类又先调用其虚基类从左到右)

  4. 先调用F的间接虚基类C然后输出C而后是G先输出B中基类A在输出B然后输出G然后是H虽然H无虚基但是其D构成间接虚

  5. 调用D输出D然后调用C因为每个虚基调用一次,所以不调用C了然后开始剩下的(从左到右)AEABFH基类调用完毕

  6. 最后是I中的类E,F声明:类中有对象,先是基类然后是类中对象然后是构造函数

  7. e调用E输出AE然后F因为F有虚基,(问题:为什么刚刚说一个类只能调用一次虚基为什么F还有调用虚基,答:因为虚基是新对象f的虚基,而非I的虚基,)所以先调用间接虚基C然后是B输出AB最后输出F最后是I自己的构造输出I

上一篇:记npm包开发全过程


下一篇:【c++】解析多文件编程的原理