首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
34
问题
使用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全国计算机二级
相关试题推荐
下面的函数利用递归实现了求1+2+3+…+n的功能:intsum(intn){if(n==0)return0;elsereturnn+saln(n-1);}在执行SUm(10)的过程中,递归调用s
有如下程序段:for(inti=i;i<=50;i++){if(i%31=0)continue;elseif(i%51=0)continue;cout<<i<<",";这个程序的输出结果是_____
下列情况中,不会调用拷贝构造函数的是()。
运算符函数调用格式的表达式“y/x++”与表达式“y.operator/(operator++(x,0))”的含义相同,由此可看出()。
关于函数重载,下列叙述中错误的是()
内部格式控制操作函数是在头文件()中定义的。
在数据库系统的组织结构中,下列()映射把用户数据库与概念数据库联系了起来。
执行以下程序后,输出结果第二行的内容是______。#include<iostream>usingnamespacestd;classTestClass{public:virtualvoidwho(
______是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。
随机试题
在我国,有权授予国家的勋章和荣誉称号的是()
下列药物具有化湿解暑功效的是()
当混凝土结构施工质量不符合要求时,应按下列规定进行处理()。
1.背景某项目经理部在负责某本地网线路一期工程施工时,与其运营商在各方面配合得都非常好,因此运营商希望该项目经理部帮助其完成一个存在较多质量问题的直埋光缆线路工程的整改工作,要求将其整改成一个合格工程。该直埋光缆线路工程存在的问题主要有:部分地段
根据《水利水电工程标准施工招标文件》,承包人发生违约行为,通常视事态发展的过程,监理人可采取()等措施。
资产负债表主要反映公司、企业在一定会计期间的经营业绩即利润或亏损情况。()
华龙小区刚建成不久,里面的居民都互不相识,门对门住着的见了面也不打招呼,更不用说谁家会帮另一家什么忙了。居民之间关系如此冷漠和疏离,让该小区的社会工作者王涛很担心,于是在小区开办起了文艺演出活动。王涛所采用的策略是()。
在灾难面前,生命是脆弱的,因此,对任何一个安全漏洞,我们都不能掉以轻心。城市管理者和建设者要定期检查、排除隐患,将安全置于城建规划最重要的位置,尽量将城市建设的每个环节都做到无懈可击。否则,安全“旧账”总有一天会加倍偿还。对于文中的“旧账”理解最准确的是(
Lastyear,whensquattersbrokeintoAnnKeen’shouseonaquiet,suburbanstreetinBrentford,westLondon,theneighbours’rea
A、Notgettingwhathewants.B、Acustomthatisnewtohim.C、Callingupcustomers.D、Someofhisgoodfriends.B根据选项,推测提问涉及对话的内
最新回复
(
0
)