首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
53
问题
使用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全国计算机二级
相关试题推荐
有如下程序段:intx=1,y=2,z=3;x=x^z:y=y^z;z=x^y:cout<<x<<y<<z;这个程序段的输出结果是______。
派生类的构造函数的成员初始化列表中,不能包含()。
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
分析下面程序,该程序的运行结果是()。#include<iostream.h>classTestClass{public;staticintm;TestClass(){m++;
下面程序的运行结果是()。#include<iostream.h>intx=5;intfan(inta){intc;c=x*a;returnc;}voidmain(
有如下程序:#include<iostream>usingnamespacestd;voidfun(int&x,inty){intt=x;x=y;y=t;}intmain(){inta[2]={
有如下程序:#include<iostream>usingnamespacestd;classBase{public;intm,n;};classDerived1:______Base{};
执行以下程序后,输出结果第二行的内容是______。#include<iostream>usingnamespacestd;classTestClass{public:virtualvoidwho(
有如下程序:#include<iostream>voidfun(int&x,inty){intt=x;x=y;y=t;}intmain(){inta[2]={23,42};fun(a[1],a
随机试题
对当事人的同一个违法行为,不得给予两次以上()的行政处罚。
何谓催化剂的热稳定性?
假如我是一只鸟,我也应该用嘶哑的喉咙歌唱,这被暴风雨所打击着的土地,这永远汹涌着我们的悲愤的河流,这无止息地吹刮着的激怒的风,和那来自林间的无比温柔的黎明……——然后我死了,连羽毛也腐烂在土地里面。为什么我的眼里常含泪水?因为我对这土地爱
保持胸腔闭式引流管引流通畅,下列哪项不正确
患者,女性,34岁,3周来下前牙遇冷热痛。检查见下侧切牙近中舌面龋深近髓,未探及穿髓孔,冷测一过性敏感。其处理是()
某建设工程项目,建设单位将施工任务发包给了一家具备相应资质的建筑工程施工公司,并将工程的监理任务委派给一家监理公司,总监理工程师为付某,总监理工程师代表为林某,另有土建专业监理工程师金某、水电专业监理工程师杜某、钢结构专业监理工程师白某。为了保证各监理工程
“君子之教,喻也。”这说明了教师教学的语言应有()。
IsJimin?IsJim__________________?
Themagicianpickedoutseveralpersons______fromtheaudienceandaskedthemtohelphimwiththeperformance.
Thesong"HappyBirthdaytoYou"wasoriginallywrittenfor______.Finally,whathappenedtothesong"GoodMorningtoAll"af
最新回复
(
0
)