首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
admin
2021-05-06
94
问题
使用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 - qPomt.x)*(pPoint.x - qPoint.x)+(pPoint.y -qPoint.y)*(pPoint.y - qPoint.y))。请在注释//********3********之后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
1 #include
2 #include
3 using namespace std;
4 class CPoint
5 {
6 public:
7 //********1********
8
9 //定义类Point的构造函数
10 //********2********
11
12 void display() { cout<<"x="<
13 private:
14 float x,y;
15 };
16 class CDistance
17 {
18 public:
19 float length(CPoint&p,CPoint&q);
20 };
21 float CDi stance::length(CPoint&pPoint,CPoint&qPoint)
22 {
213 //********3********
24
25 }
26 int main()
27 {
28 CPoint mPoint(10,10),nPoint(10,10);
29 mPoint.display();
30 nPoint.display();
31 CDistance len;
32 cout<
33 return 0;
34 }
选项
答案
(1)添加语句:friend C1ass 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));
解析
程序当中定义了类CPoint和CDistance,CPoint类含有成员变量x和y,display()函数输出x和y的值;类CDistance只有成员函数length(CPoint&p,CPoint&q),且类CDistance为类CPoint的友元类。
[解题思路]
(1)第1个标识下补充定义类CDistance为类CPoint的友元类,声明友元类的格式为:friend<类名>;,故第1个标识下应添加“friend class CDistance;”。
(2)类CPoint的构造函数完成给私有数据成员x和y的初始化,两个参数的缺省值都为0,因此参数含有默认值0,故第2个标识下应添加“CPoint(float a=O,floatb=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/oJfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
请编写一个函数intfun(int*s,intt,int*k),用来求出数组的最大元素在数组中的下标并存放在k所指向的存储单元中。例如,输入如下整数:876675896101301401980431451777则输出
关于运算符重载,下列表述中正确的是()。
要使程序的输出结果为Base,则在横线处填写的派生类Derived的继承方式是()。#includeusingnamespacestd;classBase{public:voidprint(){cout
请打开考生文件夹下的解决方案文件proj2,其中有两个类:一是销售类(sale),用于表示按照一件商品的基本价格进行销售;另一个是打折销售类(DiscountSale),用于表示在基本价格基础上按一个折扣比例进行销售。DiscountSale类继承了sal
若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是()。
下列有关类继承的叙述中,错误的是()。
有如下类定义:ciassA{char*a:public:A0:a(0){}A(char*aa){//把aa所指字符串拷贝到a所指向的存储空间a=_________;strcpy(a,a
软件测试的目的是
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。
在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()。
随机试题
影响点火提前角的因素有_______。
某上市公司在其年度财务报告中隐瞒了公司真实的财务状况和经营状况,致使投资者作出了错误的投资决策,造成了投资者的损失,对此,应当承担责任的主体有哪些?()
解释宪法、监督宪法实施的权力属于()。
案例C建筑工程公司原有从业人员650人,为减员增效,2009年3月将从业人员裁减到350人,质量部、安全部合并为质安部,原安全部的8名专职安全管理人员转入下属二级单位,原安全部的职责转人质安部,具体工作由2人承担。2010年5月,C公司
某企业进行人力资源需求与供给预测。经过调查研究与分析,确认本企业的销售额(单位:万元)和所需销售人员(单位:人)成正相关关系,并根据过去10年的统计资料建立了一元线性回归预测模型Y=A+BX,X代表销售额,Y代表销售人员数,回归系数A=22,B=0.03。
【2014年上】下列国家中,不属于加勒比海地区的是()。
在新世纪新阶段,我国社会和经济发展的战略目标是()。
如果把一些中国象征只是当做“元素”,就有点儿像把文化和传统当作装饰性的小挂件,看上去______但“如七宝楼台,眩人眼目,碎拆下来,不成片段。”
中国模式最终一定会影响世界政治的游戏规则.丰富世界民主政治的内容和形式。西方模式也是一路走来,并最终成为强势模式的。这很像学外语,如果你认为世界上只有英语好,那么你就永远是学生,他永远可以说你哪些地方不对,甚至打个不及格。现在中国崛起了,中文也自然会成为国
A.equallyB.compensateC.distinctionD.givenE.qualifyF.fairerG.concernedH.admissionI.proveJ.apparentK.
最新回复
(
0
)