程序结果如上图:
这是一个多重继承,构造方法顺序与析构顺序相反
调用顺序如下:
1.基类的构造函数.
2.子对象的构造函数.
3.成员初始化表中的其他项.
4.派生类构造函数的函数体
首先告诉你个秘密:实际应用中,类的继承关系中,要么是包含关系,要么是属于关系,很少出现你写的这种关系。
程序结果:
构造函数3 1
构造函数1
构造函数2 2
构造函数1
构造函数2 4
构造函数3 3
子类构造函数
子类析构函数
析构函数3
析构函数2
析构函数1
析构函数2
析构函数1
析构函数3
1,先调用虚基类的
2,调用基类的
3,再派生类自己的
4,在成员函数的构造函数
析构的与此顺序相反