首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为 TC1 TC2 注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为 TC1 TC2 注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//
admin
2020-07-23
129
问题
使用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;99。第2处的P为指针变量,将对象obj1赋值给p,实际上是P指向对象obj1的地址,所以将“p=*obj1;”修改为“p=&obj1;”。第3处的“p=*obj2;”修改为“p=&obj2;”。
转载请注明原文地址:https://kaotiyun.com/show/jFyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
关于函数重载,下列叙述中错误的是()。
有如下程序:#include#includeusingnamespacestd;classPerson{public:Person(string
有如下程序:#includeusingnamespacestd;intmain(){intsum;for(inti=0;i<3;i+=
在函数中,可以用auto、extern、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。
下列字符串中,不可以用做C++标识符的是()。
有如下类定义和变量定义:classA{public:A(){data=0;}~A(){}intGetData()const{ret
已知函数f的原型是voidf(int*a,long&b);,变量v1、v2的定义是:intv1;longv2;下列调用语句中正确的是()。
请使用VC6或使用[答题]菜单打开考生文件夹proj3下的工程proj3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数operator=,以实现深层复制。要求:补充编制的内容写在“//******
下列选项可以做C++标识符的是()。
随机试题
断肢再植因血管痉挛或栓塞所致易发生血管危象,其容易发生的时间是术后
肾结核的血尿多为
有关子宫收缩力的叙述,不正确的是
急性心肌梗死患者并发心源性休克的主要原因是
《建设工程勘察合同(一)》示范文本合同条款的主要内容不包括()。
某市卷烟厂为增值税一般纳税人,主要生产A牌卷烟及雪茄烟,2017年9月发生如下业务:(1)从烟农手中购进烟叶,支付买价110万元并按规定支付了l0%的价外补贴,将其运往甲企业委托加工烟丝;向甲企业支付加工费,取得增值税专用发票,注明加工费l0万
属于传统教学手段的有()。
谈谈“发火”火候的掌握。
设求f(x).
设P(A)=a,P(B)=b,P(A+B)=c,则P(AB)=()
最新回复
(
0
)