单选题 有如下程序:
#include<iostream.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<<"Df";}
};
int main(){Derived d;return 0;}
执行上面的程序将输出______。
  • A.BBBfDD
  • B.BBDfDDDf
  • C.DD
  • D.DDBBBf
【正确答案】 A
【答案解析】[解析] 本题考查类的继承和派生。派生类执行构造函故的一般次序为:首先调用基类构造函数;然后调用成员对象的构造函数;最后是派生类构造函数中的内容。题目中定义派生类对象d时,先调用基类Base的构造函数,输出BBBf,然后调用派生类Derived的构造函数,输出DD。