问题
单项选择题
有下列程序:
#include<iosteram.h>
using namespace std;
class Base
public:
Base()cout<<"BB"; f();
void f()cout<<"Bf";
;
class Derived:public Base
public:
Derived()cout<<"DD";
void f()cout<<"Dff;
;
int main()Derived d;return 0;
执行上面的程序将输出( )。
A.BBBfDD
B.BBDfDDDf
C.DD
D.DDBBBf
答案
参考答案:A
解析: 此题考查的是类的继承和派生。派生类执行构造函数的一般次序:首先调用基类构造函数;然后调用成员对象的构造函数;最后是派生类构造函数中的内容。题目中定义派生类对象d时,先调用基类Base的构造函数,输出BBBf,然后调用派生类Derived的构造函数,输出DD。