首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示矩形的CRect类,但类CRect的定义并不完整。请按要求完成下列操作,将类CRect的定义补充完成。 (1)定义私有数据成员leftPoint、topPoint、righ
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示矩形的CRect类,但类CRect的定义并不完整。请按要求完成下列操作,将类CRect的定义补充完成。 (1)定义私有数据成员leftPoint、topPoint、righ
admin
2015-05-30
32
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示矩形的CRect类,但类CRect的定义并不完整。请按要求完成下列操作,将类CRect的定义补充完成。
(1)定义私有数据成员leftPoint、topPoint、rightPoint、bottomPoint,分别用于表示矩形左上角及右下角的点的坐标,它们都是double型的数据。请在注释//********1********之后添加适当的语句。
(2)完成默认构造函数CRect的定义,指定缺省实参为0,都是double型的数据。请在注释//********2********之后添加适当的语句。
(3)定义函数体为空的析构函数。请在注释//********3********之后添加适当的语句。
(4)在main()函数中定义CRect类的实例rect2,并把rect1的值赋给rect2。请在注释//********4********之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
1 #include
2 class CRect
3 {
4 private:
5 //********1********
6
7 public:
8 //********2********
9
10 //********3********
11
12 void SetPointS(double,
double,double,double);
13 void SetLeftPoint(double m)
{leftPoint=m;)
14 void SetRightPoint(double m)
{rightPoint=m;)
15 void SetToppoint(double m)
{topPoint=mj)
16 void SetBottomPoint
(double m){bottomPoint=m;)
17 void Display();
18 };
19
20 CRect::CRect(double l,doublet,double r,double b)
21 {
22 leftPoint=1 ; topPoint=t;
23 rightPoint=r ; bottompoint=b ;
24 }
25 void CRect::SetPoints(double
1,double t,double r,double b)
26 {
27 leftPoint=1 ; topPoint=t ;
28 rightPoint=r;bottomPoint
=b ;
29 }
30 void CRect::Display()
31 {
32 cout(<”left-top point is
("<
")"<<’\n’;
33 cout<<"right-bottom point is
("<
nt<<")"<<’\n’;
34 )
35 void main(){
36 CRect rect0 ;
37 rect0.Display();
38 rect0.SetPoints(20,20.6,30,
40);
39 rect 0.Display();
40 CRect rectl(0,0,150,150);
41 rectl.SetTopPoint(10.5);
42 rectl.SetLeftPoint(10.5);
43 //********4********
44
45 rect2.Display();
46 }
选项
答案
(1)添加语句:double leftPoint,topPoint,rightpoint, bottompoint ; (2)添加语句:CRect(double leftPoint=0,double topPoint=0,double righ七point=0,double bottomPoint=0); (3)添加语句:~CRect()f); (4)添加语句:CRect rect2(rectl);
解析
程序中定义了一个表示矩形的类CRect,该类中定义了私有数据成员leflPoint、topPoint、rightPoint、bottomPoint,分别用于表示矩形左上角及右下角的点的坐标且它们的数据类型都是double型,类CRect有多个成员函数,SetPoints0,SetLeftPoint()函数可改变成员变量leflPoint的值,而SetRightPoint()成员函数可改变rightPoint的值,SetTopPoint()可改变topPoint的值,SetBottomPoint()改变bottomPoint的值,Display()成员函数显示成员变量的值。
[解题思路]
(1)第1个标识下完成私有数据成员leflPoint、topPoint、rightPoint、bottomPoint的定义,均为double型的变量,故第1个标识下应添加“double leftPoint,topPoint,rightPoint,bottomPoint;”。
(2)构造函数完成成员变量的初始化,类CRect的默认构造函数并初始化double型私有数据成员leflPoint、topPoint、rightPoint、bottomPoint为0,故第2个标识下应添加“CRect(double leftPoint=0,double topPoint=0,double rightPoint=0,double bottomPoint=0);”。
(3)析构函数名和类名一致,并在前面加“~”以和构造函数区别,该析构函数体为空,故第3个标识下应添加“~CRect0{};”,虽然该函数体为空,但是“{}”必须保留。
(4)主函数中类CRect的对象rect2是通过复制构造函数将rectl的值赋值给它实现初始化的,而rectl的初始化直接调用自定义构造函数,第4个标识下应添加“CReclrect2(rectl);”。
转载请注明原文地址:https://kaotiyun.com/show/8PNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于运算符重载的描述中,正确的是()。
在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示()
定义重载函数时,应在参数个数或参数类型上【】。
有如下程序:#include<iostream>usingnamespacestd;classsample{private:intx,y;public:sample(inti
假定MyClass为一个类,那么下列的函数说明中,()为该类的析构函数。
有如下程序:#include<iostream>usingnamespacestd;classTest{public:Test(){n+=2;}~Test(){n-=3;}
已知n是一个int型变量,下列语句中错误的是______。
线性表最常用的操作是存取第i个元素及其前趋的值,则采用______存储方式节省时间
以下各选项组中,均是C++语言关键字的组是
一个项目具有一个项目主管,一个项目主管可管理多个项目。则实体集“项目主管”与实体集“项目”的联系属于【】的联系。
随机试题
挥发性盐基总氮(TVBN)
A.金黄膏B.青黛膏C.红油膏D.白玉膏E.冲和膏患者小腿部红肿疼痛,外治应首选
关于荣誉的表述,哪项错误
甲有一条驳壳船租予乙进行海上运输,租期3年。双方签订了书面合同,乙一次性向甲交付租金50万元。租赁的第二年,甲因资金紧张将该船卖予丙,双方签订了买卖合同,价格500万元。约定在船舶过户登记后、乙的租期届满前,丙分期付清全部款项。因甲无法现实交付,双方约定租
甲于2月14日向乙发出签订合同的要约,乙于2月28日承诺同意,甲、乙双方在3月13日签订合同,合同中约定该合同于3月25日生效。根据合同法律制度的规定,该合同的成立时间是()。
2014年1月1日,甲与乙签订了一份机器设备的买卖合同,约定甲公司向乙公司出售其机器设备一套,由甲代办托运。2014年3月1日,甲公司将设备交付承运人丙公司,由丙公司将该设备运往乙公司指定地点,运输途中乙公司将该设备出卖给丁公司并签订合同。基于以上事实,下
(2008上系管)某待开发的信息系统,具体功能需求不明确,需求因业务发展需要频繁变动,适用于此信息系统的开发方法是______。
在考生文件夹下,打开文档Word1.docx,按照要求完成下列操作并以该文件名Word1.docx保存文档。将正文第一段(“对于微软官员,……人们应该持一个怀疑的态度。”),左右各缩进5字符,悬挂缩进2字符,行距18磅;将正文第三段(“同时,……对软件
Wheredotheymostlikelywork?
Howmenfirstlearnttoinventwordsisunknown;inotherwords,theoriginoflanguageismystery.Allwereallyknowisthatm
最新回复
(
0
)