首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下: Constructor. Default constructor. Area is 12
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下: Constructor. Default constructor. Area is 12
admin
2017-11-27
16
问题
使用VC6打开考生文件夹下的源程序文件modil.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******
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对象时,有一个参数,而类CRectangle()并没有重载一个参数的构造函数,编译后出错,因此第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://jikaoti.com/ti/Eit0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
()是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。
有以下程序:#include<iostream.h>voidmain(){intx=5,y=2;cout<<!(y==x/2)<<",";cout<<y!=x%3)<<",";
一个类中有【 】个构造函数。
下列语句中,输出与众不同的是
有以下程序main(){ int p[7]= {11,13,14,15,16,17,18},i=0,k=0; while(i<7 & & p[i] %2) { k= k+ p[i];i+ +;} cout<<k<<end1;}执行后输
设有二元关系R和三元关系S,下列运算中合法的是
假定有下列变量定义: int k=7,x=12; 则能使值为0的表达式是
有如下类声明:classXA{intx;public:XA(intn){x=n;}};classXB:publicXA{inty;
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是
设有如下关系表:则下列操作中正确的是
随机试题
对附睾正确的描述是
治疗血虚寒厥证,宜选用
患者,男,28岁。因损伤性血胸行胸膜腔闭式引流术,每小时引流出200ml血液,已连续3小时。当前最有效的处理措施是
某市第一高级中学于2005年经市政府批准拨用土地98亩扩建学校,其中教学楼占用50亩,运动场占用20亩,剩余28亩兴建教师住房。由于各种原因,该学校一直未办理土地登记手续。2008年,学校按照国家房改政策以成本价将住房出售给了学校教职工。2009年市国土
在存货陆续供应和使用的情况下,导致经济批量增加的因素有()。
Additionalsocialstressesmayalsooccurbecauseofthepopulationexplosionorproblemsarisingfrommassmigrationmovements—
学生陈某发现自己的手机不见了,怀疑是同学张某偷的,于是老师吴某把张某叫到办公室对其进行搜身。吴某的做法主要侵犯了学生张某的()
概述明清时期君主专权。
Thegovernmentistobanpaymentstowitnessesbynewspapersseekingtobuyuppeopleinvolvedinprominentcases21thetrialo
Readthearticlebelowaboutsales.ChoosethecorrectwordtofilleachgapfromA,B,CorD.Foreachquestion(21-30),markon
最新回复
(
0
)