/给出下面程序输出结果。 #include <iostream> using namespace std; class Base { private: int Y; public: Base(int y = 0) { Y = y; cout << "Base(" << y << ")\n"; } ~Base() { cout << "~Base()\n"; } void print() { cout << Y << ""; } }; class Derived :public Base { private: int Z; public: Derived(int y, int z) :Base(y) { Z = z; cout << "Derived(" << y << "," << z << ")\n"; } ~Derived() { cout << "~Derived()\n"; } void print() { Base::print(); cout << Z << endl; } }; void main() { Derived d(10, 20); d.print(); }
时间: 2023-06-23 07:08:49 浏览: 130
程序员面试宝典题目总结
5星 · 资源好评率100%
程序输出结果为:
Base(10)
Derived(10,20)
10 20
其中,首先会调用 Derived 类的构造函数,该构造函数调用了 Base 类的构造函数,因此会输出 "Base(10)" 和 "Derived(10,20)"。接着调用 d.print() 函数,该函数先调用 Base 类的 print() 函数输出 Y 的值,再输出 Z 的值,因此最终的输出结果为 "10 20"。最后退出程序时会调用 Derived 类的析构函数和 Base 类的析构函数,分别输出 "~Derived()" 和 "~Base()"。
阅读全文