首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正常运行,并且输出以下结果: (4,5) 7,8 (4,8) 注意:错误的语句在//******error******的下
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正常运行,并且输出以下结果: (4,5) 7,8 (4,8) 注意:错误的语句在//******error******的下
admin
2019-05-14
88
问题
使用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全国计算机二级
相关试题推荐
程序中有如下语句:for(inti=0;i<5;i++)cout<<*(p+i)<<",";能够依次输出int型一维数组DATA的前5个元素。由此可知,变量p的定义及初始化语句是______。
若有定义语句:inta=3,b=2,c=1;,则表达式b<b?a:b的值是______。
A、 B、 C、 D、 D在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的候选码或候选键。从二维表的所有候选键中选取一个作为用户使用的键称为主键或主码。
2首先声明为private的“private:intj;”中j为私有成员。然后在类中没有指定,系统默认为私有。即“inti:”中的i也是私有成员。所以本题中的私有成员数量为2。
A、 B、 C、 D、 Atest的构造函数重载,testA[3]调用test(intA)函数,然后删除时调用析构函数,故输出选项A。
A、 B、 C、 D、 D算法是指对解题方案准确而完整的描述,而对算法进行分析的目的,是为了在原有的基础上,对算法进行改进,从而提高对数据的处理效率。
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制:#include<iostream>usingnamespacestd;classBase{
下列关于运算符重载的描述中,正确的是A)运算符重载可以改变操作数的个数B)运算符重载可以改变运算符的优先级C)运算符重载可以改变运算符的结合性D)运算符重载可以使运算符实现特殊功能
下列工具中,不属于结构化分析的常用工具的是()。A)PAD图B)数据字典C)判定树D)数据流图
随机试题
把人看作“会说话的机器”,属于组织管理中的()
下列哪项检测项目对肝性脑病的诊断有参考价值
下列属于期货合约的组成要素的有()。Ⅰ交易品种Ⅱ每日价格最大波动限制Ⅲ最小变动价位Ⅳ交割时间Ⅴ交易价格
已知最近二十天内,5月强筋麦的最高价为2250元/吨,最低价为1980元/吨,昨日的K值为35,D值为36,今日收盘价为2110元/吨,则20日RSV的值,今天的K值,今日的D值,今日的J值为()。
抑制需求拉动的通货膨胀,应该采取的措施是()。
有限责任公司股东会作出增加公司注册资本的决议时,必须经出席会议的全体股东一致通过。( )
旅游合同的内容主要有()
“文翁兴学”
党在过渡时期的总路线的主要内容被概括为“一化三改”。“一化”和“三改”之间相互联系,不可分离。以下关于二者关系的论述中正确的有
Directions:Thereisanadvertisementbelow.Afterreadingit,youarerequiredtocompletethestatementsthatfollowthequest
最新回复
(
0
)