问答题

【参考答案】

使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了类BA、PA1和PA2,其中PA1类由BA类公有派生,PA2类由PA1类公有派生。上述3个类的定义并不完整,请按要求完成下列操作,将程序补充完整。
程序输出结果如下:
1O
5
1057
(1)定义类BA的构造函数,该构造函数有一个整型的参数m,在构造函数中将m赋值给数据成员a。请在注释1之后添加适当的语句。
(2)定义类PA1的构造函数,该构造函数有两个整型的参数m和n,在构造函数中将m赋值给数据成员b,将n作为基类BA构造函数的参数值传人。请在注释2之后添加适当的语句。
(3)定义类PA2的构造函数,该构造函数有3个整型的参数m、n和k,在构造函数中请将m赋值给数据成员c,将n和k分别赋值给基类PA1构造函数的参数m和n。请在注释3之后添加适当的语句。
(4)完成类PA2的成员函数show的定义,该函数调用基类成员函数,输出基类私有成员a、b及类PA2自身的数据成员C的值,上述3个值在输出时用空格隔开。请在注释4之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
试题程序:
#include(iostream.h>
classBA
{
inta;
public:
//********1********
intgeta(){returna;}
};
classPAl:publicBA
{
intb;
public:
//********2********
intgetb(){returnb;}
};
classPA2:publicPAl
{
intC;
public:
//********3********
voidshow()
{
//********4********
}
};
voidmain()
{
PA2a(7,5,10);
cout<<a.geta()<<endl;
cout<<a.getb()<<endl;
a.show();
}

(↓↓↓ 点击下方‘点击查看答案’看答案解析 ↓↓↓)

相关考题

判断题 结合水是液态水的一种,故能传递静水压力。( )

问答题 使用VC++6.0打开考生文件夹下的源程序文件3.cpp。请完成以下部分,实现在屏幕上输出为 C3 C2 这个程序需要修改的部分,请按照以下部分实现。 (1)类C0不能被实例化,请定义一个纯虚函数print,在注释1后添加适当的语句。 (2)类C1私有虚继承类C0,请在注释2后添加适当的语句。 (3)类C2公有继承于C0,请在注释3后添加适当的语句。 (4)类c3公有继承于C2与C1,请在注释4后添加适当的语句。 注意:增加代码或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。 试题程序: #include(iostream.h) classCO { //********1******** }; //********2******** classC1: { public: voidprint() { cout<"”C1"<<endl; } }; //********3******** classC2: { public: voidprint() { cout<<"C2"<<endl; } }; //********4***x**** classC3: { public: voidprint() { cout<<"C3"<<endl; } }; voidmain() { C30bj3; C20bj2; obj3.print(); obj2.print(); return; }

问答题 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正其中的错误,使得程序正确运行。 程序输出: s1:n=20 s2:n=10 执行s3.add(s1,s2) s3:n=30 s4:n=30 注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。 试题程序: #include<iostream.h) classTC { intn; public: TC(){} TC(intm) { n=m: } //********error******** TCadd(TCs1,s2) { this->n=s1.n+s2.n; //********error******** return(this); } voiddisp() { cout<<"n一="<<n<<endl; } //********error******** } voidmain() { TCs1(20),s2(10),s3,s4; cout<<"s1:"; s1.disp(); cout<<"s2:"; s2.disp(); s4=s3.add(s1,s2); cout<("执行s3.add(s1,s2)\ns3:"; s3.disp(); COUt<<"s4:";s4.disp(); }