首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为 TC1 TC2 注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为 TC1 TC2 注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/
admin
2021-05-06
47
问题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为
TC1
TC2
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结
构,错误的语句在//******error******的下面。
试题程序:
#include
#include
struct TC0
{
//******error******
virtual void fun();
};
ClaSS TC1:public TC0
{
void fun()
{
cout<<"TC1"<
}
};
class TC2:public TC0
{
void fun()
{
cout<<"TC2"<
}
};
void main()
{
TC0*p;
TC1 obj1;
TC2 obj2;
//******error******
p=*obj1;
p->fun();
//******error******
p=*obj2;
p->fun();
return;
}
选项
答案
(1)应改为“virtual void.fun()=0;”。 (2)应改为“p=&obj1;”。 (3)应傲为“p=&obj2;”。
解析
如果在基类中不使用这个虚函数,其返回值也是没有意义的,它应该被定义为纯虚函数。所以虚函数fun应该是纯虚函数,也就是声明虚函数时初始化为0的函数。即第1处的“virtual void fun()=0;”。第2处的p为指针变量,将对象obj1赋值给p,实际上是p指向对象obj1的地址,所以将“p=*obj1;”修改为“p=&obj1;”。第3处的“p=*obj2;”修改为“p=&obj2;”。
转载请注明原文地址:https://kaotiyun.com/show/GFfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列选项中不符合良好程序设计风格的是()。
若有函数模板mySwap和一些变量定义如下:()。template<classT>voidmySwap(Tx,Ty);doubled1,d2;inti1,i2;下列对mySwap的调用中,错误的是
对长度为n的线性表作快速排序,在最坏情况下,比较次数为()。
下列叙述中正确的是()。
下列程序将x、y和z按从小到大的顺序排列,横线处应添加语句()。template<classT>voidfun(____){Ta;if(x>y){a=x;x=y;y=a;}if(y
数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()。
请打开考生文件夹下的解决方案文件proj3,其中定义了一个字符串变量类stringVar。类成员的说明在程序注释中。请在//*********333*********和//*********666*********之间填写stringVar成员函数和友元函
一个教师讲授多门课程,一门课程由多个教师讲授。则实体教师和课程间的联系是()。
下列队列的描述中,正确的是()。
设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,reaF15,则循环队列中的元素个数为()。
随机试题
在药品贮存中,哌替啶应存放于
不能补充血糖的生化过程是
半夏泻心汤所治心下痞是由何因所致
所谓(),是指根据进度计划安排,在某一确定时间内所应完成的工程内容的计划投资。
在下列质量事故中,发生()时,省级交通运输主管部门应在接报2小时内进一步核实,并按规定上报。
_____被公认为第一本现代教育学著作,书中赫尔巴特强调必须有“一种教育者自身所需要的科学,有科学与思考力”并与相邻学科取长补短。【】
举例说明如何运用代币奖励法改变儿童的不良行为习惯。
预防未成年人犯罪的目的是增强未成年人的学习观念。()
文艺复兴运动实质上是一次()的文化革命。
[*]
最新回复
(
0
)