阅读以下说明和C++码,填入(n)处。 [说明] 下面代码实现类A、B、C、D的继承定义和应用。仔细阅读[代码5-1],在(n)处写出正确的运行结果。 [代码5-1] #include<iostream.h> class A

admin2009-02-15  27

问题 阅读以下说明和C++码,填入(n)处。
    [说明]
   下面代码实现类A、B、C、D的继承定义和应用。仔细阅读[代码5-1],在(n)处写出正确的运行结果。
   [代码5-1]
   #include<iostream.h>
   class A {
   public:
      int a;
      A (int v1): a(v1) {}   //构造函数
      void disp ( )
      {
           cout<<"a in class A="<<a<<endl;
      }
   };
   class B:  virtual public A {
   public:
      int b;
      B (int v1,int v2): A(v1),b v2) {}  //构造函数
      void disp ( )
      {
         cout<<"a in class B="<<a<<endl
         cout<<"b in class B="<<b<<endl;
      }
   };
   class C:  virtual public A {
   public:
      int c;
      C (int v1,int v2): A(v1) ,c(v2)   {}  //构造函数
      void disp ( )
      {
           cout<<"a in class C="<<a<<endl;
           cout<<"c in class C="<<c<<endl;
      }
   };
   class D:  public B, public C {
   public:
      int d;
      D (int v1,int v2,int v3,int v4 ): A(v1) ,B(v1,v2) ,C(v1,v3),d(v4)  {}    //构造函数
         void disp ( )
      {
         cout<<"a="<<a<<endl;
         cout<<"b="<< b<<endl;
         cout<<"c="<<c<<endl;
         cout<<"d="<<d<<endl;
      }
   };
   void main( )
   {
      D demo (10,20,30,40);
      demo.disp ( );
   }
   [运行结果]
   a=(1)   
   b=(2)   
   c=(3)   
   d=(4)  

选项

答案(1)10 (2)20 (3)30 (4)40

解析 本题考查考生对C++语言中Class定义中继承关系的理解与掌握程度。考生如果理解了A、B、C、D间的继承关系,并不需要过多的推算,就能得出结果。
转载请注明原文地址:https://kaotiyun.com/show/0gDZ777K
0

最新回复(0)