首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为: OK 注意:错误的语句在//********error********的下面,修改该语句即可。
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为: OK 注意:错误的语句在//********error********的下面,修改该语句即可。
admin
2015-05-30
35
问题
使用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://kaotiyun.com/show/gPNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
要在屏幕上显示“Hello,world!”应执行语句cout<<【】。
以下()成员函数表示纯虚函数。
下列语句中,错误的是()。
下列函数原型声明中错误的是()。
数据库系统的基础是()。
有如下程序:#include<iostream>usingnamespacestd;classTest{public:Test(){n+=2;}~Test(){n-=3;}
用链表表示线性表的优点是()。
定义重载函数时,应在参数个数或参数类型上【】。
在C++语言中,唯一的一个三目运算符是【】。
下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1)中,在下面横线处填上适当语句,完成栈类模板的定义。template<classT>class
随机试题
对社会主义建设道路的初步探索有哪些经验教训?
案例(纯属虚构):我A公司接到客户B发来的订单上规定交货期为今年八月,不久收到客户开来的信用证,该信用证规定:“shipmentmustbeeffectedonorbeforeSeptember,1997”,我方于九月十日装船。约过了
A.金黄色葡萄球菌肺炎B.军团菌肺炎C.肺炎球菌性肺炎D.克雷伯杆菌肺炎E.干酪性肺炎患者,男,40岁。拔牙后出现寒战、高热,伴咳嗽、咳脓性痰。糖尿病史10年。查体:体温40℃,呼吸急促,唇发绀,右上肺叩诊浊音,语颤增强。白细胞25×109/L
下列材料中,属于材料供货商必须提供《生产许可证》的材料有()。
市政消火栓距离建筑物外墙不宜小于()m。
在上海证券交易所网上定价发行可转换债券,假设T日为上网定价发行日,下列说法错误的是()。
WhatweneedallthecreditinthehomeofthechildA.tothehealthydevelopment【T13】______B.【T14】______,rather,isC.to
马王堆出土的汉代帛画,其主题思想是_______。
下列犯罪人,不得适用缓刑的是()
如果在通信信道上发送1比特信号所需要的时间是0.001μs,那么信道的数据传输速率为()。
最新回复
(
0
)