执行如下程序将输出( ): #include<iostream> using namespace std; class Base { public: Base(){cout<<"BB";fun();} voi

admin2013-02-27  37

问题 执行如下程序将输出(    ):    #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”。
转载请注明原文地址:https://kaotiyun.com/show/dvVp777K
0

最新回复(0)