首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示矩形的CRect类,但类CRect的定义并不完整。请按要求完成下列操作,将类CRect的定义补充完成。 (1)定义私有数据成员leftPoint、topPoint、righ
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示矩形的CRect类,但类CRect的定义并不完整。请按要求完成下列操作,将类CRect的定义补充完成。 (1)定义私有数据成员leftPoint、topPoint、righ
admin
2015-05-30
45
问题
使用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全国计算机二级
相关试题推荐
表达式8&3的结果是【】。
要在屏幕上显示“Hello,world!”应执行语句cout<<【】。
每个类______构造函数。
所有的函数模板定义都是以关键字【】开始的。
语句ofstreamf("SALARY.DAT",ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且()。
下列情况中,不会调用拷贝构造函数的是()。
执行语句序列ofstreamoutfile("data.dat");if(...)cout<<"ok";elsecout<<"fail";后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面if语句的“...
下列关于类和对象的叙述中,错误的是()。
线性表最常用的操作是存取第i个元素及其前趋的值,则采用______存储方式节省时间
下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1)中,在下面横线处填上适当语句,完成栈类模板的定义。template<classT>class
随机试题
杨贤江又名李浩吾,曾著()是我国第一部用马克思主义观点来阐述教育问题的著作。
男性尿道有横纹肌环绕的部分是【】
A.胰蛋白胨大豆琼脂培养基(TSA)B.品红亚硫酸钠培养基C.分枝杆菌干燥培养基D.麦芽浸膏琼脂(MEA)E.沙氏琼脂培养基消毒试验中,最适合枯草杆菌黑色变种芽胞生长的培养基为
维生素B6不具有以下哪个性质
若函数f(x,y)在闭区域D上连续,下列关于极值点的陈述中正确的是()。
在金融租赁活动中,有一定的设备,但资产流动性差的企业可进行紧急融资的方式是()。
注册会计师在对财务报表审计时,必须计划审计工作。在计划审计工作时,遇到下列问题,请代为作出正确的专业判断。在制定东方公司2011年度财务报表审计的总体策略时,审计项日组应当考虑影响审计业务的重要因素,以确定审计项目组的工作方向,下列描述中,不属于注册会
一条隧道,甲用20天时间可以挖完,乙用10天时间可以挖完,现在按照甲挖完一天,乙再接替一天,然后甲再接替乙挖一天……如此循环,挖完整个隧道需要多少天?()
简述皮亚杰的认知发展理论。
考生文件夹下存在一个数据库文件“samp2.accdb”,里面已经设计好表对象“档案表”和“水费”,试按以下要求完成设计:创建一个查询,查找水费为零的记录,并显示“姓名”,所建查询名为“qT3”。
最新回复
(
0
)