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