阅读以下说明和C++码 填入(n)处。 [说明] 下面代码实现类A B C D的继承定义和应
问题详情
阅读以下说明和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
(1)10(2)20(3)30(4)40 解析:本题考查考生对C++语言中Class定义中继承关系的理解与掌握程度。考生如果理解了A、B、C、D间的继承关系,并不需要过多的推算,就能得出结果。