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

admin2010-12-16  41

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

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

答案A

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

最新回复(0)