首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为: OK 注意:错误的语句在//********error********的下面,修改该语句即可。
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为: OK 注意:错误的语句在//********error********的下面,修改该语句即可。
admin
2015-05-30
41
问题
使用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全国计算机二级
相关试题推荐
结构化程序设计的一种基本方法是______。
阅读下面的程序:#include<iostream.h>voidmain(){intx;cin>>x;if(x++>5)cout<<x<<endl;else
在数据库系统中,描述数据库中全体数据的逻辑结构和特征的数据模式为()。
阅读以下程序,此程序的功能是【】。#include<iostream.h>voidmain(){intn,i,j;for(i=100;i<999;i+100)for(j
下列关于类和对象的叙述中,错误的是()。
基类的【】不能被派生类的成员访问,基类的【】在派生类中的性质和继承的性质一样,而基类的【】在私有继承时在派生类中成为私有成员,在公有和私有保护继承时在派生类中仍为保护成员。
冒泡排序在最好情况下时间复杂度为【】。
线性表最常用的操作是存取第i个元素及其前趋的值,则采用______存储方式节省时间
operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为【】的。
有如下函数模板定义:template<typenameT1,typenameT2,typenameT3>T2plus(T1t1,T3t3){returnt1+t3;}
随机试题
非混合经济系统中基本决策单位的是
患者腰痛以酸软为主,喜按喜揉,腿膝无力。遇劳更甚,卧则减轻。治疗应选用
急性胃炎的确诊依赖于
中药说明书中所列的【主要成份】系指处方中所含的
=_______.
设有级数<U>:un与<V>:vn,求证:(I)若<U>,<y>均绝对收敛,则绝对收敛;(Ⅱ)若<U>绝对收敛,<V>条件收敛,则条件收敛.
设在SQLServer2008某数据库中有商品表和销售表,两个表的定义如下:CREATETABLE商品表(商品号char(10)PRIMARYKEY,商品名varchar(40),类别varchar(20),进货单价int);
生活就像一杯红酒,热爱生活的人会从其中品出无穷无尽的美妙。将它握在手中仔细观察,它的暗红色中有血的感觉,那正是生命的痕迹。抿一口留在口中回味,它的甘甜中有一丝苦涩,如人生一般复杂迷离。喝一口下肚,余香沁人心脾,让人终身受益。红酒越陈越美味,生活越丰富越美好
A、AlisonfellinlovewithJim.B、JimfellinlovewithAlison.C、Jimwastedalostoftime.D、Jimwastedalotofenergy.B本题属于
Livinginsofaraplace,Ifelt(separate)________fromtheworldthatIwasfamiliarwith.
最新回复
(
0
)