首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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://www.kaotiyun.com/show/yqfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知枚举类型声明语句为:enumCOLOR{WHITE,YELLOW,GREEN=5,RED,BLACK=10};则下列说法中错误的是()。
下列运算符中,不能重载为类的友元函数的运算符是
有如下类定义:classTest{intx一,y一;public:Test():a=(0),b—f0){}Test(inta,intb=0):a=(a),b=(b){));若
下列字符串中,正确的C++标识符是()。
下列关于类成员对象构造函数调用顺序的叙述中,正确的是()。
下列有关运算符重载的叙述中,正确的是()。
下列选项中,不属于模块间耦合的是()。
两个或两个以上模块之间关联的紧密程度称为()。
下列选项中不属于结构化程序设计原则的是
有如下语句序列:charstr(10);cin>>str;当从键盘输入Ilovethisgame时,str中的字符串是()。
随机试题
德育过程的主要矛盾是社会通过教师向学生提出的道德要求水平与学生已有的_______之间的矛盾。
餐具消毒必须做到_______。
管理的效益原理认为:管理工作都应该力图以最小的投入和消耗,获取最大的收益。()
胰腺腺泡细胞分泌的物质有
A他莫昔芬B长春新碱C氟尿嘧啶D塞替哌E放线菌素D干扰转录过程并阻止RNA合成的药物是
赵某与钱某是邻居,一日为琐事争吵以致互殴,公安机关依据《治安管理处罚法》对他们进行了调解处理。赵某与钱某对医疗费赔偿等达成丁调解协议。事后,赵某履行了调解协议而钱某没有履行,赵某请求公安机关强制执行调解协议,公安机关应该怎么办?()
下列关于代理权代理的表述,正确的是()。
下列票据欺诈行为中,属于伪造票据的是()。
25%OffAllCampingGear!Justintimeforsummer,GreatOutdoorsannouncesanewpromotiononitsoutdoorgear.Tents,slee
在美国,对造假行为的打击是_______的,我们几乎可以用“残酷”这个词来形容。通常情况下,这些造假公司的首脑和相关人员都会_______并过上长期的铁窗生活,而且不会有_______的机会。填入画横线部分最恰当的一项是()。
最新回复
(
0
)