问题
单项选择题
有如下程序:
#include<iostream>
using namespace std;
class Base
protected:
Base()cout<<'Base';
Base(char c)cout<<c;
;
class Derived:public Base
public:
Derived(char c)cout<<c;
;
int main()
Derived d('Derived');
return 0;
执行这个程序屏幕上将显示输出( )。
A) Derived
B) DerivedBase
C) BaseDerived
D) DerivedDerived
答案
参考答案:C
解析: 派生类Derived由基类Base公有派生,在派生类构造函数声明时系统会自动调用基类的缺省构造函数。调用Derived d('Derived');后,执行类Derived构造函数的Derived(char c),系统自动调用基类的缺省构造函数Base(),输出字母Base;再执行派生类的构造函数Derived(char c),输出字母Derived。