首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为: OK 注意:错误的语句在//******error******的下面,修改该语句即可。 1 #inc
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为: OK 注意:错误的语句在//******error******的下面,修改该语句即可。 1 #inc
admin
2019-05-14
30
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为:
OK
注意:错误的语句在//******error******的下面,修改该语句即可。
1 #include<iostream.h>
2 class CBase
3 {
4 public:
5 CBase()
6 {
7 a=b=0;
8 }
9 private:
10 int a,b;
11 };
12 class CDerive1:public CBase
13 {
14 public:
15 CDerivel()
16 {
17 }
18 //******error******
19 virtual void func();
20 };
21 class CDerive2:public CDerive1
22 {
23 public:
24 CDerive2()
25 {
26 a=0;
27 b=0;
28 }
29 void func()
30 {
31 //******error******
32 cout<<’’OK’’<end1;
33 }
34 private:
35 int a;
36 int b;
37 };
38 void main()
39 {
40 CDerive2 obj;
41 //******error******
42 CDerive1 *p =(CDerivel*)obj;
43 p->func();
44 }
选项
答案
(1)virtual void func()=0; (2)cout<<’’OK’’<<end1; (3)CDerivel *p=(CDerive1 *) &obj;
解析
程序中定义了类CBase、CDerive1和CDerive2,类CDerive1公有派生于类CBase,CDerive2公有派生于类CDerive1,在类CDerive1中定义了虚函数func(),但是没有给出具体实现,派生类CDerive2中给出了func()函数的具体实现,因此CDerive1类中的func()函数是纯虚函数。
(1)由审题分析可知,CDerive1类中的func()函数是纯虚函数,纯虚函数的定义格式为:virtual<函数类型><函数名>(<参数表>)=0,因此第1个标识下应为“virtual void func()=0;”。func()函数没有参数表。
(2)编译程序后发现第2个标识下有错误,cout流中的数据是用流插入运算符“<<”顺序加入的,因此“<”不正确,应改成“cout<<"OK’’<<end1;”。
(3)函数的调用方式有2种:非多态调用和多态调用,非多态调用是指不使用指针或引用的直接调用,多态调用是指通过对象的指针或引用的调用,在主函数中定义了CDerive1*p,p是指向基类CDerive1的指针,因此是多态调用方式,即通过对象的指针来调用,应该把派生类对象的地址赋给p,而不是对象名,因此第3个标识下应改为“CDerive1 *p=(CDerive1*)&obj;”。
转载请注明原文地址:https://www.kaotiyun.com/show/SE8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespaeestd;classAnimal{public:virtualchar*getType()const{return"Anim
以下程序的执行结果为()。#include<iostream.h>classSample{intn;public:Sample(inti){n=i;}operator++(){n++;}
在下面的4个关键字中用来说明虚函数的是()。
设有以下定义和程序:#include<iostream.h>classTestClass1{public:voidshow1(){cout<<"TestClass1"<<end1;}
在C++语言中函数返回值的类型是由()决定的
程序中有如下语句:for(inti=0;i<5;i++)cout<<*(p+i)<<",";能够依次输出int型一维数组DATA的前5个元素。由此可知,变量p的定义及初始化语句是______。
有如下程序:#include<iostream>usingnamespacestd;classCon{charID;public:Con():ID(’A’){cout<<1;}Con(
随机试题
A.单体酶B.寡聚酶C.结合酶D.多功能酶E.单纯酶(2002年第97题)由于基因融合,形成由一条多肽链组成却具有多种不同催化功能的酶是
男性,28岁,体重70kg,火灾烧伤,面颈(头部除外)、双上肢、双下肢(臀部除外)深度烧伤,伤后3小时送至医院。创面处理方法应为
设直线的方程为x=y-1=z,平面的方程为x-2y+z=0,则直线与平面()。
背景资料:某施工单位承接了一4×20m简支梁桥工程。桥梁采用扩大基础,墩身平均高10m。项目为单价合同,且全部钢筋由业主提供,其余材料由施工单位自采或自购。在离本工程不远的江边有丰富的砂源,经检验,砂的质量符合要求。采砂点位于一跨江大桥下游150
下列不属于收费系统功能的是()。
不属于会议纪要主体写法的是()。
显示器最重要的性能指标是()。
考试前夕,学校咨询人员对平时比较容易紧张的同学进行集体辅导,讲授自我放松、缓解紧张的方法。这样做的目的在于()
有一位研究人员写道:“我知道这项问卷调查的方式有其缺陷。然而,因为本地区的每一个家庭我都寄了一份问卷,所以我相信调查结果具有相当的代表性。即使调查工作不够科学,但问卷的回收之多,已足以使结果达到精确的程度。”上面的论述假设了下列哪一项?
Oncetheydecidedtohavechildren,MiShelandCarlMeissnertackledthenextbigissue:Shouldtheytrytohaveagirl?Itwas
最新回复
(
0
)