首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示矩形的CRect类,但类CRect的定义并不完整。请按要求完成下列操作,将类CRect的定义补充完整。 (1)定义私有数据成员leftPoint、topPoint、righ
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示矩形的CRect类,但类CRect的定义并不完整。请按要求完成下列操作,将类CRect的定义补充完整。 (1)定义私有数据成员leftPoint、topPoint、righ
admin
2013-11-15
86
问题
使用VC++6.0打开考生文件夹下的源程序文件3.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之后添加适当的语句。
注意:除在指定位置添加语句之外,不要改动程序中的其他内容。
试题程序:
#include
class CRect
{
private:
//********1********
public:
//********2********
//********3********
void SetPoints(double,double,double,double);
void SetLeftPoint(double m){1eftPoint=m;}
void SetRightPoint(double m){rightPoint=m;)
void SetTopPoint(double m){topPoint=m;}
void SetBottomPoint(double m){bottomPoint=m;}
void Display();
};
CRect::CRect(double 1,double t,double r,double b)
{
leftPoint=1;topPoint=t;
rightPoint=r;bottomPoint=b;
}
void CRect::SetPoints(double 1,double t,double r,
double b)
{
leftPoint=1;topPoint=t;
rightPoint=r;bottomPoint=b;
}
void CRect::Display()
{
cout<<"left-top point is("<<1eftPoint<<","<
<<")"<<’\n’;
cout<<"right-bottom point is("<
<
}
void main()
{
CRect rectO;
rect0.Display();
rect0.SetPoints(20,20.6,30,40);
rect0.Display();
CRect rect1(O,0,150,150);
rect1.SetTopPoint(10.5);
rect1.SetLeftPoint(10.5);
//********4********
rect2.Display();
}
选项
答案
(1)应添加“double leftPoint,topPoint,rightPoint,bottomPoint;”。 (2)应添加“CRect(double leftPoint=0,double topPoint=0,double rightPoint=0,double bottomPoint=0);”。 (3)应添加“~CRect(){}”。 (4)应添加“CRec reet2(rect1);”。
解析
本题在第1处完成私有数据成员leftPoint、topPoint、rightPoint、bottomPoint的定义,均为double型的变量,故第1处应添加“double leftPoint,topPoint,rightPoint,bottomPoint;”。
构造函数完成成员变量的初始化,类CRect的默认构造函数初始化double型私有数据成员leftPoint、topPoint、rightPoint、bottomPoint为0,故第2处应添加“CRect(double leftPoint=0,double topPoint=0,double rightPoint=0,double bottomPoint=0);”。
析构函数名和类名一致,并在前面加“~”以和构造函数区别,该析构函数体为空,故第3处应添加“~CRect(){}”,虽然该函数体为空,但“{}”必须保留。主函数中类CRect的对象rect2是通过复制构造函数将rect1的值赋值给它实现初始化的,而rect1的初始化直接调用自定义构造函数,第4处应添加“CRect rect2(rect1);”。
转载请注明原文地址:https://kaotiyun.com/show/EXNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
如果一个类至少有一个纯虚函数,那么该类称为()。
以下程序的执行结果是【】。#include<iostream.h>classB{public:B(){}B(inti.intj);voidprintb();private:inta,b;};classA{pub
将以下程序写成三日运算表达式是【】。if(a>b)max=a;elsemax=b;
下列对派生类的表述中,错误的是()。
下列叙述中错误的是()。
分析下面程序,该程序的运行结果是()。#include<iostream.h>classcmm{public:staticintm;cmm(){m++;}cmm(
表达式8&3的结果是【】。
以下定义语句中,错误的是______。
若有如下类定义:classB{voidfunl(){}protected:doublevarl:public:voidfun2(){}};classD:public
在下面的运算符重载函数的原型中,错误的是()。
随机试题
引起血管壁通透性增加的炎性介质是
A.身体无特殊不适而定期两个月来潮一次者 B.三个月来潮一次者 C.一年一行者 D.终生不潮而能受孕者 E.妊娠早期仍按月有少量阴道流血,但无损胎儿者“暗经”指的是
患者,男性,34岁,突发上腹部剧烈疼痛5小时,并伴随发烧、恶心、呕吐,患者发病前有暴饮暴食史。实验室检查白细胞明显升高,临床拟诊为急性胰腺炎,以下哪一项最符合急性胰腺炎表现?()
依法必须进行施工招标的工程建设项目,可以采用邀请招标的情形有()。[2015年真题]
“涎”、“鳜”、“祎”、“谥”注音全部正确的一组是()。
教学过程是一种特殊的认识过程,其特殊性表现在认识的间接性、交往性、教育性和()。
1995年,美国的两位学者是利用直径为26米的射电望远镜寻找由浩瀚宇宙深处发出的未知讯号。然而,至今还未发现具有已接收讯号特征的电波源,且在这些电波的方向上,也没有特异的星体存在。“未发现具有已接收讯号特征的电波源”这句话的意思是()。
垄断资本主义取代自由竞争资本主义,表明资本主义生产关系()
TheEconomistcalculatesthataroundtheworldalmost290million15-to24-year-oldsareneitherworkingnorstudying:almosta
对象是由对象名、(45)、(46)组成的。
最新回复
(
0
)