问题
填空题
有如下程序: #include <iostream> using namespace std; class PARENT { public:PARENT() { cout <<"PARENT"; } }; class SON : public PARENT { public:SON() {cout << "SON"; } }; int main() {SON son;PARENT *p;p = &son;return 0; } 执行上面程序的输出是______。
答案
参考答案:PARENTSON
解析: 此题考查的是派生类的构造。主函数开始在定义SON类的对象son时,会先执行PARENT类的构造函数再执行SON类的构造函数,输出“PAKENTSON”;接下来的语句定义PARENT和让指针p指向son对象,都并未创建任何对象,所以不会调用构造函数。故最终的输出结果是:PARENTSON。