问题 填空题

有如下程序:
#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"。

单项选择题
单项选择题