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

admin2010-03-29  19

问题 下面程序的运行结果是    #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 <<end1;    }

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

答案1

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

最新回复(0)