[说明] 下面代码实现类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<<endlcout<<"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间的继承关系,并不需要过多的推算,就能得出结果。