首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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://jikaoti.com/ti/l4h0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类声明:classBase{protected:intamount;public:Base(intn=0):amount(n){}intgetAmount()const{returnamount;}};class
下列方法中,属于白盒法设计测试用例的方法的是()。
下列运算符中,不能重载为类的友元函数的运算符是
有如下程序:#includeusingnamespacestd;classA{public:virtualvoidfunc1(){cout
下面对对象概念描述正确的是
下列关于模板的叙述中,错误的是()。
数据库系统的核心是
下列字符串中可以用作C++标识符的是
请打开考生文件夹下的解决方案文件proj2,此工程中含有一个源程序文件proj2.cpp。函数char*GetNum(char*src,char*buf)从src开始扫描下一个数字字符序列,并将其作为一个字符串取出放入字符串空间bur中。函数返回扫
随机试题
锯割时,回程时应()。
已知正常人与肝病人SGPT指标的分布有重叠,确定SGPT指标参考值范围时,上限定得越高
全口义齿初戴时发现下牙弓明显后退其原因最可能是
艾滋病传染途径不包括
体外纯菌药物敏感性试验常用的方法是
A.华法林B.乳酸钙C.青霉素D.氨曲南E.地西泮老年人服用后易导致出血的药品是()。
英国甲公司与北京乙公司在北京朝阳签订中央空调买卖合同,英国甲公司在中国没有住所,该合同约定“双方应妥善解决合同履行中发生的争议,协商解决不成的,提交仲裁解决。本协议使用中华人民共和国香港特别行政区法律。”合同履行过程中双方发生争议,北京乙公司欲采取法律救济
用于紧靠高温设备配置的电力电缆,应采用铜芯。()
常言道:数子十过,莫如奖子一长。启示我们,教育应坚持()。
Areyoufacingasituationthatlooksimpossibletofix?In1969,thepollutionwasterriblealongtheCuyahogaRivernearC
最新回复
(
0
)