首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示矩形的CRect类,但类CRect的定义并不完整。请按要求完成下列操作,将类CRect的定义补充完成。 (1)定义私有数据成员leftPoint、topPoint、righ
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示矩形的CRect类,但类CRect的定义并不完整。请按要求完成下列操作,将类CRect的定义补充完成。 (1)定义私有数据成员leftPoint、topPoint、righ
admin
2015-05-30
53
问题
使用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全国计算机二级
相关试题推荐
通过______调用虚函数时,采用动态束定
在C++中,函数原型不能标识______。
以下()成员函数表示纯虚函数。
以下()特征不是面向对象思想中的主要特征。
执行语句序列ofstreamoutfile("data.dat");if(...)cout<<"ok";elsecout<<"fail";后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面if语句的“...
在C++语言中,main函数默认返回一个()类型的值。
输入流对象是输出流的源头,下面______不是输入流类。
对于顺序存储的队列,存储空间大小为n,头指针为F,尾指针为R。若在逻辑上看成一个环,则队列中元素的个数为______。
要定义数组A,使得其中每个元素的数据依次为:3、9、4、8、0、0、0,错误的定义语句是______。
有如下函数模板定义:template<typenameT1,typenameT2,typenameT3>T2plus(T1t1,T3t3){returnt1+t3;}
随机试题
下列关于基金绩效衡量的目的与意义的说法正确的是( )。
判决与裁定的区别是()。
可使支气管堵塞导致肺不张的原因可能是
慢性萎缩性胃炎的病理改变中属癌前病变的是
关于暂予监外执行的说法与社区矫正机构负责执行的刑罚种类,下列选项正确的是:()
水泥混凝土抗渗等级按下式计算:p=10H-1,H为第四个试件顶面开始有渗水时的水压力。()
工程师在处理索赔时应注意自己的权力范围,下列情形中的()不属于工程师的权力。
一方当事人(受托方)以技术知识为另一方(委托方)解决特定技术问题所订立的合同是()。
(2013上集管)项目沟通管理涉及到项目管理的诸多内容。一般而言,______不属于项目沟通管理计划的主要内容。
以下叙述中,不正确的是()。
最新回复
(
0
)