首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件 modi1.cpp,但该程序运行时有错,请改正main()函数 中的错误,使程序的输出结果如下: Constructor. Default constructor. Area is 12
使用VC6打开考生文件夹下的源程序文件 modi1.cpp,但该程序运行时有错,请改正main()函数 中的错误,使程序的输出结果如下: Constructor. Default constructor. Area is 12
admin
2018-10-23
43
问题
使用VC6打开考生文件夹下的源程序文件
modi1.cpp,但该程序运行时有错,请改正main()函数
中的错误,使程序的输出结果如下:
Constructor.
Default constructor.
Area is 12
Area is 0
Area is 12
注意:错误的语句在//******error******的下面,修改该语句即可。
1 #include<iostream.h>
2 class CRectangle
3 {
4 private:
5 double length,width;
6 public:
7 CRectangle()
8 {
9 cout<<’’Default constructor.\n’’;
10 }
11 CRectangle(double 1,double W)
12 {
13 length=1;width=w;
14 cout<<"Constructo.\n’’;
15 }
16 void Set(double 1,double w)
17 {
181 this->length=1;
19 this->width=w;
20 }
21 void GetArea()
22 {
23 cout<<’’Area is’’<<length*width<<end1;
24 }
25 };
26 void main()
27 {
28 CRectangle Rect1(3.0,4.0);
29 //******error******
30 CRectangle Rect2(1);
31 //******error******
32 CRectangle Rect3;
33 Rect1.GetArea();
34 //******error******
35 Rect2.Set(0);
36 Rect2.GetArea();
37 Rect3.GetArea();
38 }
选项
答案
(1)CRectangle Rect2; (2)CRectangle Rect3(Rect1); (3)Rect2.Set(0,0);
解析
程序中定义了类CRectangle,有length和width两个成员变量,两个构造函数,Set()成员函数和GetArea()成员函数,Set()成员函数可以改变length和width的值,GetArea()成员函数在屏幕上打印length和width的积。
(1)构造函数CRectangle()不带有参数,CRectangle(double 1,double w)带有2个参数,在创建对象时会自动调用构造函数,但是参数必须匹配,第1个标识下定义Rect2对象时,有一个参数,而类CRectangle()中并没有重载一个参数的构造函数,编译后出错,因此第1标识下应改为“CRectangle Rect2;”。
(2)Rect3.GetArea()输出的结果和Rect1.GetArea()输出结果一致,因此对象Rect3和对象Rect1两者具有相同的length和width值,除定义Rect3对象之外没有改变Rect31的length和width值,因此Rect3成员变量的初始化是通过拷贝构造函数类实现的,即用Rect1对象去初始化Rect3,因此第2个标识下应改为“CRectangle Rect3(Rect1);”。
(3)Rect2.GetArea()的输出结果为0,说明Rect2的成员变量length和width值至少一个为0,而Set()函数必须有两个参数,这里Rect2.Set(0)参数不匹配,应改为“Reet2.Set(0,0);”或者“Rect2.Set(0,5)”,两个参数当中至少一个为0即可。
转载请注明原文地址:https://www.kaotiyun.com/show/75Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<iostream>usingnamespacestd;intmain(){intx=15;while(x>10&&x<50){x+
以下函数值的类型是()。fun(floatx){floaty;y=3*x-4;returny;}
对于语句cout<<setfilll(’*’)<<setw(10)<<1<<setill(’*’)<<setw(2)<<2;的输出结果是()。
有以下程序:#include<iostream.h>voidfun(inta,mtb,intC){a=456,b=567,c=678;}voidmain(){intx=10,y=20,z=30;
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原是()。#include<iostream.h>voidmain(){int*p,*q,a,b;p=&a;eout<<"inputa:";
已知下列程序的输出结果是42,请将横线处缺失的部分补充完整。#include<iostream>usingnamespacestd;classFoo{intvalue;p
关于构造函数A()的拷贝构造函数正确的是
随机试题
男性,30岁,司机。不慎发生交通事故,伤后有一过性神志不清,受伤经过不详,清醒后感右上腹剧烈疼痛,呈持续性、刀割样,短时间内腹痛逐渐扩至全腹,并出现头晕、心悸、面色苍白、肢端发凉;恶心、呕吐2次,呕吐物为咖啡样液体,量不多,被急送到医院。体检:T36.5
“踟蹰”是()
“能领兵者,谓之将也”,“能将将者,谓之帅也”,由此可见,“将才”和“帅才”是活动在不同管理层次中的领导人物,他们的管理职能也就有所不同。“帅才”较“将才”应更注重()
A.乳腺小叶增生,纤维组织增生,导管、腺泡囊肿形成B.癌细胞在导管内生长,基底膜完整C.癌细胞在小叶腺泡和腺管内生长,基底膜完整D.癌细胞分泌大量黏液乳腺导管内癌
动物发生渗出性胸膜炎时,其心音变化表现为()。
能被药物微粒表面吸附形成机械性或电性保护膜与难溶性药物形成可溶性络合物
佝偻病的早期预防措施是及早肌内注射维生素D330万U,每周一次,共三次。()
土地使用及拆迁补偿费包括()。
材料一:从2007年11月9日到15日,国家法定节假日调整方案在新华网、人民网等网站上公布,引起强烈反响。据初步统计,大约155万网民参加了此项调查。国家法定节假日调整方案在网上开展民意调查的同时,也印发给中央和国家机关、各地党委和政府、军队系统、各民主党
Forthispart,youareallowed30minutestowriteanessaycommentingontheremark"IdleYoung,NeedyOld."Youcanciteexamp
最新回复
(
0
)