执行如下程序将输出( ): #include using namespace std; classBase { public: Base(){cout

admin2013-02-27  18

问题 执行如下程序将输出(  ):
    #include
    using namespace std;
    classBase
    {
    public:
    Base(){cout<<“BB”;fun();}
    void fun (){cout<<“Bfun”;}
    };
    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/hcVp777K
0

最新回复(0)