问题
单项选择题
执行如下程序将输出( ):
#include<iostream>
using namespace std;
class Base
public:
Base()cout<<"BB";fun();
void fun ()tout<<"Brim";
;
class Derived:public Base
public:
Derived()cout<<"DD";
void fun ()cout<<"Dfun";
;
int main()Derived d;return 0;
A.DD
B.BBDfunDDDfun
C.BBBfunDD
D.DDBBBfun
答案
参考答案:C
解析: C++中创建一个类的实例时,如果该类存在基类,将首先执行基类的构造函数,然后执行该类本身的构造函数。本题中首先执行类Base的构造函数,所以将先输出“BB”,然后调用基类成员函数fun(),输出“Bfun”,最后调用子类Derived的构造函数输出“DD”。