下面程序的运行结果是( )。 #include<iostream.h> class base{ protected: int a; public: base(){cout

admin2020-06-29  30

问题 下面程序的运行结果是(    )。
#include<iostream.h>
class base{
protected:
    int a;
public:
    base(){cout<<"0";}
};
class basel:virtual base{
public:
    basel(){cout<<"1";}
};
class base2:virtual base{
public:
    base2(){cout<<"2";}
};
class derived:public basel,public base2{
public:
    derived(){cout<<"3";}
};
void main()
{
    derived obj;
    cout<}

选项 A、0123
B、3120
C、312
D、3012

答案A

解析 本题考查的是含有虚基类的继承中构造函数的调用顺序,应该先调用基类的构造函数,接着是按照派生类继承列表的顺序依次调用虚基类的构造函数,最后调用派生类自己的构造函数。
转载请注明原文地址:https://jikaoti.com/ti/X5l0FFFM
0

最新回复(0)