首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为: OK 注意:错误的语句在//********error********的下面,修改该语句即可。
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为: OK 注意:错误的语句在//********error********的下面,修改该语句即可。
admin
2015-05-30
56
问题
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为:
OK
注意:错误的语句在//********error********的下面,修改该语句即可。
1 #include
2 class CBase
3 {
4 publiC:
5 CBase()
6 {
7 a=b=0 ;
8 }
9 private:
10 int a,b;
11 };
12 class CDerivel:public CBase
13 {
14 public:
15 CDerivel()
16 {
17 }
18 //********error********
19 virtual void func(),
20 };
21 class CDerive2:public CDerivel
22 {
23 public:
24 CDerive2()
25 {
26 a=0;
27 b=0;
28 }
29 void func()
30 {
31 //********error********
32 cout<<"OK"
33 }
34 private:
35 int a;
36 int b,
37 };
38 void main()
39 {
40 CDerive2 obj,
41 //********error********
42 CDerivel *p =(CDerivel*)obj ;
43 p->func();
44 }
选项
答案
(1)virtual void func()=0 ; (2)cout<<"OK"<
解析
程序中定义了类CBase、CDerivel和CDerive2,类CDerive1公有派生于类CBase,CDerive2公有派生于类CDerive1,在类CDerive1中定义了虚函数func(),但是没有给出具体实现,派生类CDerive2中给出了func()函数的具体实现,因此CDerivel类中的func()函数是纯虚函数。
[解题思路]
(1)由审题分析可知,CDerivel类中的func()函数是纯虚函数,纯虚函数的定义格式为:virtual<函数类型><函数名>(<参数表>)=0,因此第1个标识下应为“virtual voidfunc()=0;”。func0函数没有参数表。
(2)编译程序后发现第2个标识下有错误,cout流中的数据是用流插入运算符“<<”顺序加入的,因此“<”不正确,应改成“cout<<"OK"<
(3)函数的调用方式有2种:非多态调用和多态调用,非多态调用是指不使用指针或引用的直接调用,多态调用是指通过对象的指针或引用的调用,在主函数中定义了CDerivel木p,P是指向基类CDerivel的指针,因此是多态调用方式,即通过对象的指针来调用,应该把派生类对象的地址赋给P,而不是对象名,因此第3个标识下应改为“CDerivel *P=(CDerivel*)&obj;”。
转载请注明原文地址:https://www.kaotiyun.com/show/gPNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列函数原型声明中错误的是()。
从键盘上输入XXYYZZXYZWXP和X,以下程序的输出结果是【】。#include<iostream.h>#include<string.h>voidmain(){char*str,ch;intc
对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为【】。
假定MyClass为一个类,那么下列的函数说明中,()为该类的析构函数。
程序段的输出结果是【】。inta=12,b=12;cout<<--a<<“”<<++b;
如果表达式++i*k中的“++”和“*”都是重载的非静态成员运算符,则采用运算符函数调用格式,该表达式还可表示为=______。
已知outfile是一个输出流对象,要想将outfile的文件指针定位到当前位置之前321字节处,正确的函数调用语句是______。
以下函数模板max的功能是返回数组a中最大元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmax(Ta[],intn){Tm=a[0];for(inti=1;i<n;i++)
函数模板______。
使用白盒测试方法时,确定测试数据应根据______和指定的覆盖标准。
随机试题
患者男性,78岁,进行性排尿困难,指肛检查前列腺Ⅲ度增大,质硬,可触及质硬结节,血PSA~20ng/ml。确诊需要做的检查是
积块软而不坚,固着不移,胀痛有定处,苔薄,脉弦。证属
代谢活化是指
女性,65岁。肝右叶巨大肿瘤,腹水征阳性,血清生化检查。清蛋白22g/L,总胆红素58μmol/L,血管造影示:门静脉右支闭塞。最适合的治疗方法为()
倾斜巷道倾角为12度,支架架设的迎山角为()。
甲公司为增值税一般纳税人,适用的增值税税率为17%,2015年12月31日,甲公司内部审计部门在审计过程中发现下列有关问题并要求会计部门予以更正。不考虑所得税影响。(1)经董事会批准,自2015年1月1日起,甲公司将管理用设备的折旧年限由10年变更为
甲公司和乙公司20×7年度和20×8年度发生的有关交易或事项如下:(1)20×7年5月20日,乙公司的客户(丙公司)因产品质量问题向法院提起诉讼,请求法院裁定乙公司赔偿损失120万元,截止20×7年6月30日,法院尚未对上述案件作出判决。在向法院了解情况
下列清朝皇帝中,葬于东陵的有()。
防治治安危害的思想教育,是有广泛社会性的思想工作,要发动各个部门,特别是宣传、教育、新闻、出版等部门,以健康的、进步的思想占领思想阵地。()
计算机的数据传输具有突发性,通信子网中的负荷极不稳定,可能带来通信子网暂时与局部的______现象。
最新回复
(
0
)