首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件 modi1.cpp,但该程序运行时有错,请改正main()函数 中的错误,使程序的输出结果如下: Constructor. Default constructor. Area is 12
使用VC6打开考生文件夹下的源程序文件 modi1.cpp,但该程序运行时有错,请改正main()函数 中的错误,使程序的输出结果如下: Constructor. Default constructor. Area is 12
admin
2018-10-23
42
问题
使用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://kaotiyun.com/show/75Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
执行下面程序中的输出语句后,a的值是main(){inta;cout<<(a=3*5,a*4,a+5);}
下列有关数据库的描述,正确的是
数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为
结构化程序设计的3种结构是
以下关于友元函数的叙述不正确的是()。
下列程序的执行结果是()。#inClude<iostream.h)#include(stdlib.h)classTestClass{public:intx,y;TestClass(){x=
下面程序的结果是()。#include<iostream.h>classA{inta;public:A():a(1){}voidshowa(){cout<<a;}};Cl
函数swap(a,n)可完成对a数组从第1个元素到第n个元素两两交换。其中b[=1;b[1]=2;swap(b,2)。在运行调用函数中的语句后,b[0]和b[1]的值分别为()。
下列有关数据库的叙述,正确的是()。
只能作为成员函数重载的是
随机试题
2013年9月2日3时16分,我国在________卫星发射中心用长征四号丙运载火箭,成功将遥感卫星十七号发射升空,卫星顺利进入预定轨道。()
属于维持平衡的躯体感觉输入为
影响全口义齿固位的因素很多,下列哪一项不是
百会穴在头正中线上,其具体位置在
1.背景某项目经理部负责本地网直埋光缆线路环网工程的施工,合同规定采用包工不包料的形式承包,工程的路由报建工作已由建设单位完成,工程于4月15日开工,工期37天。该工程包括三个中继段,其中A中继段为50km、B中继段为60km、C中继段为70km
《淮南子》提出了独特的治国方略,它们是()。
关于重力势能,以下说法正确的是()。
给定资料1.一颗来自澳大利亚塔斯马尼亚岛的樱桃,从靠泊洋山保税港区码头到查验后放行,最快需要多长时间?上海给出的答案是:6小时。如此迅疾的速度,得益于上海自贸区成立3年多以来致力于攻坚的核心任务——制度创新。上海自贸试验区建设3年多以来
选出下列文化常识的有关内容。秀才、举人、贡士、进士依次是封建社会科举考试中______、______、______、______的合格者。
A、Hisformerheadmaster.B、Hisformerclassmate.C、Hisformerclosestfriend.D、Hisformerlunchlady.D①选项都是指人的名词,预测问题与人物相关。②问题
最新回复
(
0
)