问题 单项选择题

执行如下程序将输出( ):
#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”。

判断题
单项选择题