问题
填空题
有如下程序:
#include<iostream>
using namespace std;
class Base
public:
Base ()cout<<"Base";
;
class Derived:public Base
public:
Derived()cout<<"Derived";
;
intmain()
Derived derived;
Base *p;
P=& derived;
return 0;
执行上面程序的输出是______。
答案
参考答案:BaseDerived
解析: 创建Derived类型的对象将导致Derived的构造函数被执行,而执行Derived构造函数时,首先要执行其父类的构造函数,所以先输出"Base",然后输出"Derived";p是一个指向Base类型的指针,对其赋值不会引起构造函数的执行,所以本题输出为"BaseDerived"。