首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下: Constructor. Default constructor. Area is 12
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下: Constructor. Default constructor. Area is 12
admin
2021-06-10
1.7K+
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下:
Constructor.
Default constructor.
Area is 12
Area is 0
Area is 12
注意:错误的语句在//********error********的下面,修改该语句即可。
#include
class CRectangle
{
private:
double length , 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 Rect1(3.0,4.0);
//********error********
CRectangle Rect2(1);
//********error********
CRectangle Rect3;
Rect1.GetArea();
//********error********
Rect2.Set(0);
Rect2.GetArea();
Rect3.GetArea();
}
选项
答案
(1)CRectangle Rect2; (2)CRectangle Rect3(Rectl); (3)Rect2.Set(0,0);
解析
(1)构造函数CRectangle0不带有参数,CRectangle(double 1,double w)带有2个参数,在创建对象时会自动调用构造函数,但是参数必须匹配,第1个标识下定义Rect2对象时,有一个参数,而类CRectangle()中并没有重载一个参数的构造函数,编译后出错,因此第1标识下应改为“CRectangle Rect2;”。
(2)Rect3.GetArea0输出的结果和Rect1.GetArea()输出结果一致,因此对象Rect3和对象Rect1两者具有相同的length和width值,除定义Rect3对象之外没有改变Rect31的length和width值,因此Rect3成员变量的初始化是通过拷贝构造函数类实现的,即用Rectl对象去初始化Rect3,因此第2个标识下应改为“CRectangle Rect3(Rectl);”。
(3)Rect2.GetArea()的输出结果为0,说明Rect2的成员变量length和width值至少一个为0,而Set()函数必须有两个参数,这里Rect2.Set(0)参数不匹配,应改为“Rect2.Set(0,0);”或者“Rect2.Set(0,5)”,两个参数当中至少一个为0即可。
转载请注明原文地址:https://kaotiyun.com/show/yqfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在下列原型所示的C++函数中,按"传值"方式传递参数的是()。
已知Bag是一个类,并有函数FBag定义如下:VoidFBag(){Bag*ptr,my,colleage[2],&sister=my;}则在调用函数FBag()后,Bag类的析构函数被调用
有如下程序:#includeusingnamespacestd;intmain(){intsum=0;for(inti=0;i
C什系统预定义了4个用于标准数据流的对象,下列选项中不属于此类对象的是()。
已知类IMS中两个成员函数的声明为“voidlisten()const;”与“voidspeak();”,另有两个对象的定义为“IMSobj1;”与“constIMSobj2;”,则下列语句中,产生编译错误的是()。
下列字符串中,正确的C++标识符是()。
学校的每个社团都有一名团长,且一个同学可同时担任多个社团的团长,则实体团长和实体社团间的联系是
下列字符串中可以用作C++标识符的是
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为()。
请打开考生文件夹下的解决方案文件proj2,此工程包含一个源程序文件proj2.cpp。其中定义了Score类。Score是一个用于管理考试成绩的类。其中,数据成员一S指向存储成绩的数组,_n表示成绩的个数;成员函数Sort使用冒泡排序法将全部成
随机试题
下列说法中,不正确的是()。
三维超声对心脏血流动力学描述,正确的是
土由以下三部分组成()、()和()。
油毡瓦是以哪种材料为胎基制成的防水片材?
关于人类活动的空间分布及其空间中的相互关系的学说是()。
某单位违反《会计法》的规定,任用不具有会计从业资格的余某担任本单位会计机构负责人。县级以上财政部门可以对该违法行为直接负责的主管人员和其他直接责任人员处()。
未经其他合伙人一致同意,合伙人以其在普通合伙企业中的财产份额出质,其法律后果是()。
李明从图书馆借来一批图书,他先给了甲5本和剩下的,然后给了乙4本和剩下的,又给了丙3本和剩下的,又给了丁2本和剩下的,最后自己还剩2本。李明共借了多少本书?
竞争:共赢
Flexibilityisanessentialcomponentofgoodcooking.Youshouldneverfeellockedintoarecipeoramenuunlessitinvolvesa
最新回复
(
0
)