首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下: Constructor. Default constructor. Areais 12 A
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下: Constructor. Default constructor. Areais 12 A
admin
2020-06-29
38
问题
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下:
Constructor.
Default constructor.
Areais 12
Area is 0
Area is 12
注意:错误的语句在∥********error********的下面,修改该语句即可。
#include
class CRectangle
{
private:
double length l width;
public:
CRectangle()
{
cout<<”Default
constructor.\n”;
}
CRectangle(double 1,double W)
{
length=1;width=w;
cout<<”Constructor.\n”;
}
void Set(double 1,double W)
{
this一>length=1;
this一>width=w;
}
void GetArea()
{
cout<<”Area is”<
width<
}
};
void main()
{
CRectangle Rectl(3.0,4.0);
∥********error********
CRectangle Rect2(1);
∥********error********
CRectangle Rect3;
Rectl.GetArea();
∥********error********
Rect2.Set(0);
Rect2.GetArea();
Rect3.GetArea();
}
选项
答案
(1)CRectangle Rect2; (2)CRectangle Rect3(Rectl); (3)Rect2.Set(0,0);
解析
(1)构造函数CRectangle()不带有参数,CRectangle(double l,double w)带有2个参数,在创建对象时会自动调用构造函数,但是参数必须匹配,第1个标识下定义Rect2对象时,有一个参数,而类CRectangle0中并没有重载一个参数的构造函数,编译后出错,因此第l标识下应改为“CRectangle Rect2;”。
(2)Rect3.GetArea0输出的结果和Rect1.GetArea0输出结果一致,因此对象Rect3和对象Rectl两者具有相同的length和width值,除定义Rect3对象之外没有改变Rect31的length和width值,凶此Rect3成员变量的初始化是通过拷贝构造函数类实现的,即用Rectl对象去初始化Reet3,因此第2个标识下应改为“CRecmngle 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/pIyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classMyClass{public:MyClass(inti=0){cout
下列关于模板的叙述中,错误的是
有如下类定义:classPoint{public:voidSetX(intxx){x=xx;}voidSetY(intyy){y=yy;}
由于常对象不能被更新,因此
有如下程序:#includeusingnamespacestd;classBase{public:Base(){cout
下列关于运算符重载的叙述中,错误的是
下面叙述中错误的是( )。
有三个关系R、S和T如下:则关系T是由关系R和S通过某种操作得到,该操作为( )。
已知有数组定义chara[3][4];下列表达式中正确的是
在下面的类声明中,错误的是
随机试题
将f(x)=e-2x展开为x的幂级数.
A.四氢生物蝶呤B.维生素B12C.磷酸吡哆醛D.NAD+L-谷氨酸脱氢酶的辅酶是
不属于靶向制剂的为
A.变质性炎症B.浆液性炎症C.蜂窝织炎症D.化脓性炎症E.纤维素性炎症下列疾病属于哪种炎症渗出性结核性胸膜炎
无论人类社会处于什么阶段,只要当一种物品有用但其数量又不能满足人人随心所欲的需要时,就会出现对该种物品究竟如何分配的问题,古今中外主要有下列几种分配方式:①争夺。如小到个人之间的打架,大到国家之间的战争,物品最后由胜者获得;②计划。如在传统社会主义计划
信用社的资产安全程度的高低与资本充足率成正比,资本充足率在()以上可以认定为资本充足。
2014年父亲、母亲的年龄之和是年龄之差的23倍,年龄之差是儿子年龄的,5年后母亲和儿子的年龄都是平方数。问2014年父亲的年龄是多少?(年龄都按整数计算)()
请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。(1)在名称为Forml的窗体上画一个名称为Combol的组合框,其宽度为1200,其类型如图3.102所示(即简单组合框)。要求如下:①请按图中所示,通过属性窗口输入“北
(l)Collegestudentsaremorestressedoutthaneverbefore—atleastaccordingtothelatestfindingsofalarge,nationalsurvey
HeclosedhiseyesandheldthetwoversionsofLaMappatohismind’s_____toanalyzetheirdifferences.(2017-26)
最新回复
(
0
)