首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
54
问题
使用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://kaotiyun.com/show/3PNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
不能把字符串“Hello!”赋给数组的语是______。
在函数中,可以用auto、extem、register和static四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。
以下()特征不是面向对象思想中的主要特征。
有如下程序:#include<iostream>usingnamespacestd;classsample{private:intx,y;public:sample(inti
假定MyClass为—类,执行MyClassa[3],*p[2];语句时会自动调用该类构造函数()次。
在C++语言中,main函数默认返回一个()类型的值。
下列说法有错误的是______。
以下函数模板max的功能是返回数组a中最大元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmax(Ta[],intn){Tm=a[0];for(inti=1;i<n;i++)
已知:doubleA(doubleA){return++a;}和intA(inta){return++a;)是一个函数模板的两个实例,则该函数模板定义为【】。
下面有关重载函数的描述中正确的是
随机试题
过量使用会出现惊厥的药物是
首选用于治疗乳腺纤维瘤肝郁痰凝证的方剂是
患者,男,35岁,全身大面积烧伤后24小时行补液治疗,护士调节输液量及速度的最简易而重要的指标是
某车间负荷采用低压三相电源线路供电,线路长度L=50m,允许电压降为5%,保护装置0.4s内可切除短路故障,线路发生最大的短路电流Ik=6.8kA。线路采用铜芯交联聚乙烯绝缘电缆穿铜管明敷,环境温度40℃,电缆导体最高温度90℃,电缆经济电流密度2.0A/
下列选项中不是城市经济学关注的重点问题的是()。
某企业在阿富汗投资100万美元,向某保险公司投保投资保险,保额为投资额的90%。在保险期间,因美国轰炸阿富汗导致该企业损失80万美元,被保险人向保险公司提出索赔并提供了财产证明。6个月后,保险公司应赔偿该被保险人()万美元。
公民被宣告死亡后,其权利能力应该()。
《汉魏两晋南北朝佛教史》于1938年问世,至今已超过半个世纪,此书规模之_________,结构之谨严,材料之丰富,考证之_________,问题提出之深刻,剖析解释之_________,实在可为中外学者们的楷模。填入划横线部分最恰当的一项是()
Peoplegotoseeanimalsthere.Peopleuseittofindtheirway.
Theconditionofscholarshipdevotedtothehistoryofwomeninphotographyisconfounding.Recentyearshavewitnessedthepost
最新回复
(
0
)