一段C++类构造函数 析构函数顺序问题 帮忙解释下啊

2024-12-05 04:50:41
推荐回答(3个)
回答1:

程序结果如上图:

这是一个多重继承,构造方法顺序与析构顺序相反

调用顺序如下:

1.基类的构造函数.

2.子对象的构造函数.

3.成员初始化表中的其他项.

4.派生类构造函数的函数体

 


回答2:

首先告诉你个秘密:实际应用中,类的继承关系中,要么是包含关系,要么是属于关系,很少出现你写的这种关系。

程序结果:
构造函数3 1

构造函数1

构造函数2 2

构造函数1

构造函数2 4

构造函数3 3

子类构造函数

子类析构函数

析构函数3

析构函数2

析构函数1

析构函数2

析构函数1

析构函数3

回答3:

1,先调用虚基类的
2,调用基类的
3,再派生类自己的
4,在成员函数的构造函数

析构的与此顺序相反