首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正常运行,并且输出以下结果: (4,5) 7,8 (4,8) 注意:错误的语句在//******error******的下
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正常运行,并且输出以下结果: (4,5) 7,8 (4,8) 注意:错误的语句在//******error******的下
admin
2019-05-14
106
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正常运行,并且输出以下结果:
(4,5)
7,8
(4,8)
注意:错误的语句在//******error******的下面,修改该语句即可。
1 #include<iostream.h>
2 class CObj0
3 {
4 public:
5 CObj0(int i,int j)
6 {
7 x=i;
8 y=j;
9 }
10 //********error********
11 virtual void move(int a;int b)
12 {
13 x+=a;
14 y+=b;
15 }
16 void print()
17 {
18 tout<<’’(’’<<x<<’’,’’<<y<<’’)’’<<end1;
19 }
20 public:
21 int x,y;
22 };
23 class CObj1:public CObj0
24 {
25 public:
26 //******error******
27 CObj1(int i,int j,int k):(i,j)
28 {
29 m=k;
30 n=1;
31 }
32 void print()
33 {
34 cout<<m<<’’,’’<<n<<end1;
35 }
36 void func()
37 {
38 move(3,5);
39 }
40 void display()
41 {
42 //******error******
43 print();
44 }
45 private:
46 int m,n;
47 };
48 void main()
49 {
50 CObj0 obj(4,5);
51 obj.print();
52 CObj1 obj1(1,3,7,8);
53 obj1.func()j
54 obj1.print();
55 obj1.display();
56 }
选项
答案
(1)virtual void move(int a,int b) (2)CObj1(int i,int j,int k,int 1):CObj0(i,j) (3)CObj0::print();
解析
程序中定义了CObj0和CObj1两个类,CObj1公有派生于CObj0,CObj0有两个public成员变量x和y,CObj1有2个private成员变量m和n,CObj0的print函数打印x和y的值,CObj1的print函数打印m和n的值,display函数调用基类的print函数打印CObj1的x和y的值。
(1)编译程序可知第1标识下有错误,此处是声明虚函数,虚函数的声明方式为:virtual<类型说明符><函数名>(<参数表>),参数表中各参数之间应该用“,”隔开,因此第1个标识下应改为“virtual void move(int a,int b)”。
(2)在主函数里“CObj1 obj1(1,3,7,8);”,可知构造函数CObjl()有四个参数,完成变量m、n、x和y的初始化,k和1赋值给m和n,i和i赋值给x和y,x和y的初始化可通过基类构造函数来完成对x和y的初始化,第2个标识下应改为CObj1(int i,int i,intk,int 1):CObj0(i,j)。
(3)由程序运行结果可知标识3下调用的是基类的print()函数,而“print();”:是调用的派生类的print()函数,因此此时只能通过类名来直接调用print()函数,即第3个标识下应改为“CObj0::print0;”。
转载请注明原文地址:https://www.kaotiyun.com/show/6b8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面关于数据库三级模式结构的叙述中,正确的是()。
在E-R图中,用来表示属性的图形是()。
下列关于类、对象、属性和方法的叙述中,错误的是()。
在关系代数运算中,__________操作会消去关系中的某些列并删去重复的元组。
A、 B、 C、 D、 C类指针可以指向派生类对象,但是只能访问基类的数据成员和成员函数。f()作为虚函数,在派生类中被重新定义,可以通过基类指针或者引用来访问基类和派生类中的同名函数。
自顶向下程序设计时,应先考虑总体,后考虑细节,逐步使问题具体化,对复杂的问题,应该设计一些子目标作为过渡,上述方法概括为:自顶向下,逐步细化。
针对数组定义intdata[10];,下列叙述中错误的是A)用*data可访问到数组的首元素B)用data[9]可访问到数组的末元素C)用data[10]访问数组元素会超出数组的边界D)data共有10个元素,其首元素是data[1]
有如下语句序列:intx=-10;while(++x){}运行时while循环体的执行次数为______。
下列关于数据库设计的叙述中,正确的是()。A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典
随机试题
月经周期是指从月经的_______起,至下次月经来潮的_______止。在整个月经周期中分为_______、_______、_______。
预防佝偻病发生的措施错误的是
A.轻度烧伤B.中度烧伤C.重度烧伤D.深度烧伤E.特重度烧伤患者,女,20岁。热水烫伤双大腿、双足,均为Ⅲ度。烧伤严重性分度为
下列案情中可以提出第三人撤销之诉的有:()
水闸构造中能起防冲消能作用的构造有()。
某企业同时与甲、乙两家保险公司签订了保额分别为200万元和100万元的两份财产基本险合同,对其200万元的固定资产投保,保险有效期内由于火灾保险财产损失150万元。甲、乙保险公司各自应承担的赔款额分别是()。
下列明细账,可采用数量金额式账簿的有()。
One,Two,Three.Cheers!Atoastwithcoffeeandaliondance,a【C1】______ofcultures,UScoffeegiantStarbucksthinks【C2】_____
企业交纳上月未交的增值税,应借记()科目。
Jack______outveryearly,forhehadnotshownupatbreakfast.
最新回复
(
0
)