首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下: Constructor. Default constructor. Area is 12 Area
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下: Constructor. Default constructor. Area is 12 Area
admin
2015-05-30
30
问题
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下:
Constructor.
Default constructor.
Area is 12
Area is 0
Area is 12
注意:错误的语句在//********error********的下面,修改该语句即可。
1 #include
2 class CRectangle
3 {
4 private:
5 double length,width;
6 public:
7 CRectangle()
8 {
9 cout<<"Defaultconstructor.\n";
10 }
11 CRectangle(double 1,double w)
12 {
13 length=l ; width=w;
14 cout<<”Constructor.\n";
15 }
16 void Set(double 1,double w)
17 {
18 this->length=l;
19 this->width=w;
20 }
21 void GetArea()
22 {
23 cout<<"Area is"<
24 }
25 };
26 void main()
27 {
28 CRectangle Rectl(3.0,4.0);
29 //********error********
30 CRectangle Rect2(1);
31 //********error********
32 CRec七angle Rect3;
33 Rectl.GetArea();
34 //********error********
35 Rect2.Set(0);
36 Rect2.GetArea();
37 Rect3.GetArea();
38 }
选项
答案
(1)CRectangle Rect2; (2)CRectangle Rect3(Rectl); (3)Rect2.Set(0,0);
解析
程序中定义了类CRectangle,有length和width两个成员变量,两个构造函数,Set()成员函数和GetArea0成员函数,Set()成员函数可以改变length和width的值,GetArea()成员函数在屏幕上打印length和width的积。
[解题思路]
(1)构造函数CRectangle()不带有参数,CRectangle(double 1,double w)带有2个参数,在创建对象时会自动调用构造函数,但是参数必须匹配,第1个标识下定义Rect2对象时,有一个参数,而类CRectangle()中并没有重载一个参数的构造函数,编译后出错,因此第l标识下应改为“CRectangle Rect2;”。
(2)Rect3.GetArea()输出的结果和Rectl.GetArea0输出结果一致,因此对象Rect3和对象Rectl两者具有相同的length和width值,除定义Rect3对象之外没有改变Rect31的length和width值,因此Rect3成员变量的初始化是通过拷贝构造函数类实现的,即用Rectl对象去初始化Rect3,因此第2个标识下应改为“CRectangle Rect3(Rectl);”。
(3)Rect2.GetArea0的输出结果为0,说明Rect2的成员变量length和width值至少一个为0,而Set()函数必须有两个参数,这里Rect2.Set(0)参数不匹配,应改为“Rect2.Set(0,0);”或者“Rect2.Set(0,5)”,两个参数当中至少一个为0即可。
转载请注明原文地址:https://jikaoti.com/ti/DBE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
要在屏幕上显示“Hello,world!”应执行语句cout<<【】。
下列虚基类的声明中正确的是______。
每个类______构造函数。
在面向对象方法中,类之间共享属性和操作的机制称为[]。
以下()特征不是面向对象思想中的主要特征。
基类的【】不能被派生类的成员访问,基类的【】在派生类中的性质和继承的性质一样,而基类的【】在私有继承时在派生类中成为私有成员,在公有和私有保护继承时在派生类中仍为保护成员。
面向对象的模型中,最基本的概念是对象和【】。
输入流对象是输出流的源头,下面______不是输入流类。
有以下定义,则此数组的元素中不正确的一个赋值结果是______。staticinta[10]={1,2,3,4,5};
针对数组定义intdata[10];,下列表述中错误的是______。
随机试题
2012年获得诺贝尔文学奖的作家是()
与硼酸反应生成亮黄色的黄酮是
A.Arlt线B.Homer-Trantas结节C.Trantas斑D.Stocker’s线E.束状角膜炎春季结膜炎()
患者,女性,29岁。关节肿痛5个月,以双手近端指间关节和掌指关节为明显,晨僵约60min,有时伴腕关节疼痛。查体:双手关节局部呈梭形肿胀伴压痛,双腕活动轻度受限,ESR45mm/h,RF(-)OX线显示:轻度骨质疏松。最可能的诊断是
下列各项中,需调整减少企业应纳税所得额的项目有()。
单位和个人检举违反《会计法》和国家统一的会计制度的行为,也属于会计工作社会监督。()
下列决策方法中,属于确定型决策方法的有()。
肌肉收缩所产生的张力大于外加阻力时,肌肉缩短,并牵引骨杠杆做相向运动的一种收缩形式,又被称为向心收缩的是()。
【B1】【B7】
A、Holdon,please.B、It’sinteresting.C、That’snothing.D、He’sallright.A本题考查如何回答电话用语。对于电话找人的回答,如果对方要找的人在现场,可以说Holdon,pleas
最新回复
(
0
)