未知题型

重写下面的程序,给每个类增加一个析构函数,并使类之间的关系如附件图所示,再 写出程序的输出结果。 #include <iostream> using namespace std; class base1 { public: base1() { cout << "constructing base1" << endl; } }; class base2 { public: base2() { cout << "constructing base2 " << endl; } }; class derived1 :public base2, virtual public base1 { public: derived1() { cout << "constructing derived1" << endl; } }; class derived2 :public base2, virtual public base1 { public: derived2() { cout << "constructing derived2" << endl; } }; class Derived3 :public derived1, virtual public derived2 { public: Derived3() { cout << "constructing derived3" << endl; } }; int main() { Derived3 obj; return 0; }

【参考答案】

1. `Derived3` 对象构造时,首先构造虚基类 `base1`,然后是 `derived2` 的 `base2`......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)