第 1 页:选择题 |
第 3 页:程序改错题 |
第 4 页:简单应用题 |
第 5 页:综合应用题 |
四、综合应用题
43使用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"<
}
};
//********3********
classC2:
{
public:
voidprint()
{
cout<<"C2"<
}
};
//********4***x****
classC3:
{
public:
voidprint()
{
cout<<"C3"<
}
};
voidmain()
{
C30bj3;
C20bj2;
obj3.print();
obj2.print();
return;
}
参考解析:
(1)应添加“virtualvoidprint()=0,”。
(2)“classC1:”应改为“classC1:virtualprivateC0”。
(3)“classC2:”应改为“classC2:publicC0”。
(4)“classC3:”应改为“classC3:publicC2,publicC1”。
【解析】本题考查了类的继承。根据题意,第1处应该添加“virtualvoidprint()=0;”。第2处根据题意,在冒号后面应添加“virtualprivateCO”。第3处根据题意,冒号后应添加“publicCO”。第4处根据题意,冒号后应添加“publicC2,publicC1”。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |