首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成类Rect的构造函数,实现对变量left、right、top、boRom的初始化,缺省值都为0,请在注
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成类Rect的构造函数,实现对变量left、right、top、boRom的初始化,缺省值都为0,请在注
admin
2018-10-23
32
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)完成类Rect的构造函数,实现对变量left、right、top、boRom的初始化,缺省值都为0,请在注释//********1********后添加适当的语句。
(2)完成类Rectangle的构造函数,请在注释//********2********后添加适当的语句。
(3)完成计算矩形对角线长度函数Diagonal(),请在注释//********3********后添加适当的语句。
(4)完成计算周长函数Girth(),请在注释//********4********后添加适当的语句。
程序输出:
50
140
注意:增加代码,或者修改代码的位置已经用符:号表示出来。请不要修改其他的程序代码。
1 #include<iostream.h>
2 #include<cmath>
3 class Rectangle
4 {
5 public:
6 int left,right,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.left;
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 };
34 int main()
35 {
36 Rectangle rect(20,50,40,80);
37 Rectangle rect2(rect);
38 cout<<rect2.Diagonal()<<end1;
39 cout<<rect2.Girth()<<end1;
40 return 0;
41 }
选项
答案
(1)添加语句:Rectangle(int 1,int r,int t,int b) (2)添加语句:Rectangle(Rectangle&rc) (3)将“return”补充完整为:returnsqrt((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;”,说明1,r,t,b为构造函数的参数,因此第1标识处应添加“Rectangle(int 1,int Lint t,int b)”。
(2)和题目1一样,构造函数名和类名一致,函数体内:“left=rc.1eft;fight=re.fight;too=rc.top;bottom=rc.bottom;”,显然rc是Rect对象,故该构造函数的参数为rc对象,故第2标识处应添加“Rectangle(Rectangle& rc)”。
(3)由对象的left、right、top、bottom值可以求得矩形的长和宽,因此可采用勾股定理计算对角线长度,即第3标识处补充完整为:return sqrt(frightleft)*(right-lett)+(bottom-top)*(bottom-top))。
(4)同样的周长可由长和宽的数值计算得到,长和宽之和的两倍即周长,第4标识处补充完整为:return 2*(right-left)+(bottom-top))。
转载请注明原文地址:https://kaotiyun.com/show/SwAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下哪个特征不是面向对象思想中的主要特征?
程序的3种基本控制结构是
关于下列程序段的描述中,正确的是()。#include<iostream.h>intfun(int,int);voidmain(){cout<<fun(1,2)<<endl;
下面程序的执行结果是【】。#include<iostream.h>voidmain(){intn=0,x=0;do{n++;if(n%3==2&&n%5==3&&n%7==2)x=
下列叙述中错误的是()。
在任何类中都有三种访问权限的数据成员,分别是public、private和______。
如果类A被说明成类B的友元,则()。
以下程序中,while循环的循环次数是main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;)}
在进行了任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态,其中只能用于检测输入操作的函数的函数名是
已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
随机试题
简述在Windows中将文件设置为“隐藏”属性的步骤。
在下列甲状腺癌中,发病率最高的是()
甲公司因票据遗失向法院申请公示催告,下列说法正确的是:()
1年以下的农户贷款不得采用到期利随本清方式。()
投资项目的经营成本不应包括运营期间固定资产折旧费、无形资产摊销费和财务费用。( )
关于口腔Kaposi肉瘤的特点,哪项是错误的()。
Tile hardware are the parts of computer itself including the(71)(CPU)and related microchips and micro -circuitry, keyboards, mon
WhatWeTakefromAndGivetotheSeaAslongaswehavebeenonearth,wehaveusedtheseaaroundus.Wetakefromtheocean,
Dynamicpicturesofthebraincouldshow______.
Shouldweonlyrewardthebeststudents?Thishasbeenintenselydiscussedforyears.Thefollowingarethesupporters’andoppo
最新回复
(
0
)