首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成类Rect的构造函数,实现对变量left、fight、top、bottom的初始化,缺省值都为0,请在
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成类Rect的构造函数,实现对变量left、fight、top、bottom的初始化,缺省值都为0,请在
admin
2021-06-10
87
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)完成类Rect的构造函数,实现对变量left、fight、top、bottom的初始化,缺省值都为0,请在注释//********1********后添加适当的语句。
(2)完成类Rectangle的构造函数,请在注释//********2********后添加适当的语句。
(3)完成计算矩形对角线长度函数Diagonal(),请在注释//********3********后添加适当的语句。
(4)完成计算周长函数Girth(),请在注释//********4********后添加适当的语句。
程序输出:
50
140
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
1 #include
2 #include
3 class Rectangle
4 (
5 public:
6 int left f right l top,bottom;
7 //********1********
8
9 {
10 left=1,
11 right=r ;
12 top=t ;
13 bottom=b;
14 }
15 //********2********
16 {
17 left=rc.1eft;
18 right=rc.right;
19 top=rc.top ;
20 bottom=rc.bottom;
21 }
22 float Diagonal()
23 {
24 //********3********
25 return
26 }
27 int Girth()
28 {
29 //********4********
30 return
31 }
32
33 j;
34 int main()
35 {
36 Rectangle rect(20,50,40,80);
37 Rectangle rect2(rect);
38 cout<
39 cout<
40 return 0 ;
41 }
选项
答案
(1)添加语句:Rectangle(int 1,int r,intt,int b) (2)添加语句:Rectangle(Rectangle&rc) (3)将“return”补充完整为:return sqrt((right-left)*(right-left)+(bottom-top)*(bottom-top)); (4)将“return”补充完整为:return 2*((right-left)+(bottom—top));
解析
类Rectangle是描述了一个矩形,私有成员分别描述矩形的坐标值,构造函数给私有数据成员赋初值。Rectangle类的Diagonal()和Girth()分别计算矩形的对角线长度和周长,可通过矩形的长和宽计算得到。
[解题思路]
(1)构造函数函数名和类名一致,构造函数可以重载,即多个构造函数有相同的名字不同的参数,显然题目当中两个构造函数均有参数,由函数体体内“left=1;right=r;top=t;bottom=b;”,说明l,r,t,b为构造函数的参数,因此第1标识处应添加“Rectangle(int l,int r,int t,int b)”。
(2)和题目1一样,构造函数名和类名一致,函数体内:“left=re.1eft;right=rc.right;top=re.top;bottom=rc.bottom;”,显然re是Rect对象,故该构造函数的参数为rc对象,故第2标识处应添加“Rectangle(Rectangle&rc)”。
(3)由对象的left、right、top、bottom值可以求得矩形的长和宽,因此可采用勾股定理计算对角线长度,即第3标识处补充完整为:return sqrt((right.1eft)*(right—left)+(bottom—top)*(bottom—top))。
(4)同样的周长可由长和宽的数值计算得到,长和宽之和的两倍即周长,第4标识处补充完整为:return 2*((right-left)+(bottom-top))。
转载请注明原文地址:https://www.kaotiyun.com/show/hkfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是()。main(){inta=4,b=5,c=0,d;d=!a&&!bll!C;1cout<<d<<endl;}
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
已知表达式++x中的“++”是作为成员函数重载的运算符,则与++x等效的运算符函数调用形式为()。
有如下类声明:classPam{intk;public:Pam(intn):k(n){}voidshow()const;};若要在类体外给出成员函数s
下列选项中,正确的C++标识符是
请打开考生文件夹下的解决方案文件proj2,此工程包含一个源程序文件proj2.cpp。其中定义了Score类。Score是一个用于管理考试成绩的类。其中,数据成员_s指向存储成绩的数组,_n表示成绩的个数;成员函数Sort使用冒泡排序法将全部成
请打开考生文件夹下的解决方案文件proj3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一组测试数据,此种情况下程序
下面属于黑盒测试方法的是()。
已知有数组定义chara[3][4];下列表达式中错误的是()。
在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。
随机试题
女,32岁。突发高热伴尿频、尿急、尿痛,肾区叩击痛阳性。尿常规:微量蛋白,白细胞成堆,白细胞管型1~2个。中段尿培养有大肠杆菌生长,菌落计数>7个/mL。本病最可能的诊断为()
肝硬化的体征不包括
某7岁儿童,左膝关节肿胀、疼痛半年余,X线照片显示:左膝关节骨质疏松,关节间隙变窄,胫骨平台及股骨髁边缘虫蚀状骨质破坏,最可能的诊断为
关于婴幼儿腹泻的叙述,下列错误的是
甲股票的每股收益为1元,市盈率水平为15,估算该股票的价格为( )元。
非通兑账户允许跨机构销户。()
农业生产经营者依法抵押动产,应当向工商行政管理部门办理登记。未经登记,不得对抗善意第三人。()
平屋顶屋面排水方式分为()两类。
第一次工业革命中最早出现的工业部门是()。
假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修"COMPUTER"课程的女学生的姓名,将涉及到关系
最新回复
(
0
)