首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成类Rect的构造函数,实现对变量left、right、top、bottom的初始化,缺省值都为0,请在注释//
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成类Rect的构造函数,实现对变量left、right、top、bottom的初始化,缺省值都为0,请在注释//
admin
2019-06-05
28
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)完成类Rect的构造函数,实现对变量left、right、top、bottom的初始化,缺省值都为0,请在注释//********1********后添加适当的语句。
(2)完成类Rectangle的构造函数,请在注释//********2********后添加适当的语句。
(3)完成计算矩形对角线长度函数Diagonal(),请在注释//********3********后添加适当的语句。
(4)完成计算周长函数Girth(),请在注释//********4********后添加适当的语句。
程序输出:
50
140
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include<iostream.h>
#include<cmath>
class Rectangle
{
public:
int left,right,top,bottom;
//********1********
{
left=1;
right=r;
top=t;
bottom=b;
}
//********2********
{
left=rc.left;
right=rc.right;
top=rc.top;
bottom=rc.bottom;
}
float Diagonal()
{
//********3********
return
}
int Girth()
{
//********4********
return
}
};
int main()
{
Rectangle rect(20,50,40,80);
Rectangle rect2(rect);
cout<<rect2.Diagonal()<<endl;
cout<<rect2.Girth()<<endl;
return0;
}
选项
答案
(1)添加语句:Rectangle(int1,int r,int t,int b) (2)添加语句:Rectangle(Rectangle &rc) (3)将“return”补充完整为:return sqrt((right-left)*(right-left)+(bottom-top)*(bottom-uop)); (4)将“return”补充完整为:return2*((right-left)+(bottom-top));
解析
(1)构造函数函数名和类名一致,构造函数可以重载,即多个构造函数有相同的名字不同的参数,显然题目当中两个构造函数均有参数,由函数体体内“left=1;right=r;top=t;bottom=b;”,说明1,r,t,b为构造函数的参数,因此第1标识处应添加“Rectangle(int1,int r,int t,int b)”。
(2)和题目1一样,构造函数名和类名一致,函数体内:“left=rc.left;right=re.right;top=rc.top;bottom=rc.bottom;”,显然rc是Rect对象,故该构造函数的参数为re对象,故第2标识处应添加“Rectangle(Rectangle&rc)”。
(3)由对象的left、right、top、bottom值可以求得矩形的长和宽,因此可采用勾股定理计算对角线长度,即第3标识处补充完整为:return sqrt((right-left)*(right-left)+(bottom-top)*(bottom-top))。
(4)同样的周长可由长和宽的数值计算得到,长和宽之和的两倍即周长,第4标识处补充完整为:return2*((right-left)+(bottom-top))。
转载请注明原文地址:https://kaotiyun.com/show/t18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在每个C++程序中必须有且仅有一个()。A)函数B)主函数C)预处理指令D)语句
有如下程序:#include<iostream>usingnamespacestd;classTlestClass{intn;public:TestClass(intk):n(k){
下面关于虚函数的描述中,正确的是()。A)基类中利用virtual关键字说明一个虚函数后,其派生类中定义相同的原型函数时可不必加virtual来说明B)虚函数是非成员函数C)虚函数是static类型的成员函数D)派生类中的虚函数与基
下面的函数调用为:fun(x+y,3,min(n-1,y))则fun的实参个数是()。A)3B)4C)5D)6
下面关于常成员函数的说法中正确的是()。A)常成员函数不能修改任何的数据成员B)常成员函数只能修改一般的数据成员C)常成员函数只能修改常数据成员D)常成员函数只能通过常对象来调用
A、 B、 C、 D、 A要对线性表进行二分法查找,对线性表有两个要求:第一,要求线性表是按顺序方式存储的;第二,要求线性表中的元素是按照从小到大的顺序排好序。
下列关于析构函数的描述中,错误的是()。A)析构函数可以重载B)析构函数由系统自动调用C)每个对象的析构函数只被调用一次D)每个类都有析构函数
为了提高函数调用的实际运行速度,可以将较简单的函数定义为()。A)内联函数B)重载函数C)递归函数D)函数模板
有如下两个类声明classAA{public:intm;};classBB:protectedAA{intn;};在类BB中,数据成员m的访问属性是_____,数据成员n
随机试题
我国的社会主义发展战略只注重了经济的发展,而忽视了社会的综合发展。
关于植皮术的叙述,错误的是
台儿庄战役是中国军民在()战争中第一次空前的胜利,史称“台儿庄大捷”。
下列寻址方式中,()方式需要先计算,再访问主存。
(单选题)我们要把改革创新精神贯彻到治国理政的各个环节,毫不动摇地坚持改革方向,()。
有一种理论认为,证券市场在走向成熟时会使市场参与者的赢利趋向平均化,但是我们知道几乎国内外所有证券市场的价格都存在一定程度的扭曲。如果用更通俗的语言来表述,就是市场永远不会走到真正成熟的那一天,股票价格的定位根本不能用所谓理性的计算来获得。所以,我们将无法
传说中开天辟地、炼石补天、衔石填海的神话人物依次是:
锐进软件股份有限公司是一个由四个子公司,即甲、乙、丙、丁组成的总公司。在总公司的利润方案下,每个子公司承担的利润份额与每年该子公司员工占锐进软件股份有限公司总员工数的份额相等。但是去年该公司的财务报告却显示,甲公司在员工数量增加的同时向总公司上缴利润的比例
关于ARM处理器异常中断响应过程中,以下说法正确的是()。
有两个关系R,S如下:由关系R通过运算得到关系S,则所使用的运算为( )。
最新回复
(
0
)