首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下: Constructor. Default constructor Area is12 Area is0 Area is12
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下: Constructor. Default constructor Area is12 Area is0 Area is12
admin
2019-05-14
37
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下:
Constructor.
Default constructor
Area is12
Area is0
Area is12
注意:错误的语句在//******error******的下面,修改该语句即可。
#include<iostream.h>
class CRectangle
{
private:
double length,width;
public:
CRectangle()
{
cout<<"Defaultconstructor.\n";
}
CRectangle(double1,double w)
{
length=1;width=w;
cout<<"Constructor.\n";
}
void Set(double1,double w)
{
this->length=1;
this->width=w;
}
void GetArea()
{
cout<<"Area is"<<length*width<<endl;
}
};
void main()
{
CRectangle Rectl(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(Rect1); (3)Rect2.Set(0,0);
解析
(1)构造函数CRectangle()不带有参数,CRectangle(double1,double w)带有2个参数,在创建对象时会自动调用构造函数,但是参数必须匹配,第1个标识下定义Rect2对象时,有一个参数,而类CRectangleoe()中并没有重载一个参数的构造函数,编译后出错,因此第1标识下应改为“CRectangle Rect2;”。
(2)Rect3.GetArea()输出的结果和Rect1.GetArea()输出结果一致,因此对象Rect3和对象Rect1两者具有相同的length和width值,除定义Rect3对象之外没有改变Rect31的length和width值,因此Rect3成员变量的初始化是通过拷贝构造函数类实现的,即用Rect1对象去初始化Rect3,因此第2个标识下应改为“CRectangle Rect3(Rect1):”。
(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/5E8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
补充完整下面的类定义:constdoublePI=3.14;classCircle{//圆形物体的抽象基类protected:doubler;//半径public:Circ
有如下程序:#include<iostream>usingnamespacestd;classMonitor{public:Monitor(chart):type(t){}voidPr
有如下程序段:charC[20]="examination";C[4]=0;cout<<c<<endl;这个程序的输出结果是______。
在下面的类定义中,横线处应填入的内容是()。classFred{public:voidprint(){cout<<data<<end1;}voidsetData(doubled}{data
运算符函数调用格式的表达式“y/x++”与表达式“y.operator/(operator++(x,0))”的含义相同,由此可看出()。
关于函数重载,下列叙述中错误的是()
执行语句:{cout<<setfill(’*’)<<setw(10)<<seffill(’#’)<<left<<123<<"0K"<<end1;return0;}后将输出()。
下面关于构造函数和析构函数的描述,错误的是()。
在数据库系统的组织结构中,下列()映射把用户数据库与概念数据库联系了起来。
有如下程序:#include<iostream>voidfun(int&x,inty){intt=x;x=y;y=t;}intmain(){inta[2]={23,42};fun(a[1],a
随机试题
女性,48岁,因子宫肌瘤行子宫切除术后5年,出现潮热、出汗,严重影响工作和生活,无禁忌的情况下采用哪种治疗方案最佳
A、邻苯二胺B、四甲基联苯胺C、ABTSD、对硝基苯磷酸酯E、伞基磷酸酯稳定性较差而且有突变性的底物是
6岁男孩,右侧阴囊包块,平卧后不消失,透光试验阳性。应考虑的诊断是()
大青公司可以向人民法院请求以()的名义行使撤销权。大青公司有权申请法院撤销的中青公司的行为是()。(与网上答案不同)
我国轻纺工业已形成了相当规模和一定的国际竞争力,轻纺工业产值、出口额占全国工业总产值、工业产品出口额的()和()、()、()、()、()、服装等产品产量已居世界前列。
推行实贷实付的现实意义不包括()。
下列关于作业成本动因的表述中,不正确的是()。
通常人们认为美国人民主热情,英国人有绅士风度,法国人爱好浪漫等,这种现象称为社会认知信息整合过程中的()。
Whichofthefollowingsentencesexpressesafutureaction?
Depression[A]Inbed,youtossandturn,unabletogetagoodnight’ssleep.Youfeelanxiousandworried.There’splentytodo,
最新回复
(
0
)