首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
admin
2020-06-29
41
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)把类CDistance定义为类CPoint的友元类。请在注释//********1********之后添加适当的语句。
(2)定义类CPoint的构造函数,完成给私有数据成员x和y的赋值,并且两个参数的缺省值都为0。请在注释//********2********之后添加适当的语句。
(3)完成类CDistance的成员函数length(Point&pPoint,Point&qPoint)的定义,并在其中计算点p、q之间的距离,并且返回结果。假设两点之间的距离distance=sqrt((pPoint.x-qPoint.x)*(pPoint.x-qPoint.x)+(pPoint.y-qPoint.y)*(pPoint.y-qPoint.y))。请在注释//********3********之后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include
#include
using namespace std;
class CPoint
{
public:
//********1********
//定义类Point的构造函数
//********2********
void display() { cout<<
"x="<
<
private:
float x,y;
};
Class CDistance
{
public:
float length(CPoint&p,
CPoint &q);
};
float CDistance::length
(CPoint&pPoint,CPoint&qPoint)
{
//********3********
}
int main()
{
CPoint mPoint(10,10),
nPoint(40,50);
mPoint.display();
nPoint.display();
CDistance len;
cout<
nPoint)<
return 0;
}
选项
答案
(1)添加语句:friend class CDistance; (2)添加语句:CPoint(float a=0,float b=0){x=a;y=b;} (3)添加语句:return sqrt((pPoint.x-qPoint.x)*(pPoint.x-qPoint.x)+(pPoint.y-qPoint.y)*(pPoint.y-qPoint.y));
解析
(1)第1个标识下补充定义类CDistance为类CPoint的友元类,声明友元类的格式为:friend<类名>;,故第1个标识下应添加“friend class CDistance;”。
(2)类CPoint的构造函数完成给私有数据成员x和Y的初始化,两个参数的缺省值都为0,因此参数含有默认值0,故第2个标识下应添加“CPoint(float a=0,float b=0){x=a;y=b;}”。
(3)类CDistance的成员函数length(CPoint &pPoint,CPoint&qPoint)返回点p、q之间的距离,可由公式distance=sqrt((pPoint.x-qPoint.x)*(pPoint.x-qPoint.x)+(pPoint.y-qPoint.y)*(pPoint.y-qPoint.y))计算求得,第3个标识下应添加“return sqrt((pPoint.X—qPoint.x)* (pPoint.x-qPoint.x)+(pPoint.y-qPoint.y)*(pPoint.y-qPoint.y));”。
转载请注明原文地址:https://kaotiyun.com/show/QIyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classA{public:staticinta;voidinit(){a=10;}A(inta=5){init
有如下程序:#include#includeusingnamespacestd;classMyBag{public:MyBag(stringb
有如下类声明:classHow{intk;public:friendvoidshow();};则类How所拥有的构造函数的数量是
在C++流的输入输出格式控制中,使用操作符setw,可以控制
在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是
有如下函数定义:voidfunc(inta,int&b){a++;b++;}若执行代码段:intx=0,y=1;func(x,y);则变量x和y的值分别是()。
层次型、网状型和关系型数据库划分原则是( )。
在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室治疗。则实体医生和患者之间的联系是
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为
随机试题
简要说明意志与情绪过程的关系。
胃溃疡的手术适应证是什么?
患者男性,40岁,生活在北方农村,头痛、发作性抽搐2个月,2个月内发生抽搐3次,表现为全面性强直一阵挛发作,近1周头痛加重,为全头痛伴恶心、呕吐。查体:36.7℃,神志清,反应较迟钝,颅神经未见异常,四肢肌力5级,肌张力略增高,右侧肢体肌反射活跃,左侧肢体
根据《确定土地所有权和使用权的若干规定》规定,下列说法正确的是()。
现场组焊的球形储罐应制作()产品焊接试板。
我们把海螺壳扣在耳朵上,可以听到像海潮一样的声音,其实这是()。
所谓货币政策。就是为了影响价格水平,政府所采取的限制工资增长和价格上升的政策。()
材料:这是一名中学生的来信,信中说:“我这人整天不高兴,觉得自己每天都碌碌无为,而且还会给别人造成麻烦。我的性格比较内向。其实我也想像别人一样性格开朗、善于言谈,但我却不知与同学说什么,总觉得别人都看不起我。我会把自己做错的事、别人也许并不在意的
集中打击或专项斗争,多数情况下由各省、自治区、直辖市从当地社会治安情况出发,()地开展。
操作系统是计算机的软件系统中
最新回复
(
0
)