首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
admin
2021-05-06
66
问题
使用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全国计算机二级
相关试题推荐
有如下类声明和函数声明:classBase{intm;public:intn;protected:intp;};classDe
如果利用C++流进行输入输出,下面的叙述中正确的是()。
语句int*p=&k;定义了指针p,与这个语句等效的语句序列是()。
下列有关C++流的叙述中,错误的是()。
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是()。
下列选项中不属于结构化程序设计方法的是()。
有如下函数模板定义:template<typenameT1,TypenameT2>T1Fun(T2n){returnn*5.0;)若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应
数据库技术的根本目标是要解决数据的()。
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。
在数据库设计中,将E一R图转换成关系数据模型的过程属于()。
随机试题
那段话就是赘疣。
女性,58岁,急性胰腺炎行胆囊造瘘、胰腺引流术后,仍禁食、输液、减压及抗感染治疗,并吸入高浓度氧,动脉血气分析为pH7.46、PaO255mmHg、PaCO232mmHg,X线胸片示两肺有较广泛的点、片状阴影,心电图示窦性心动过速,此时提示病人可能存
假设某房地产投资项目的折现率分别取i1=15%、i2=16%、i3=17%、i4=18%时,其对应的净现值分别为NPV1=300万元、NPV2=100万元、NPV3=-50万元、NPV4=-150万元,则依此测算的内部收益率精度最高的是()。
依据《建设项目竣工环境保护验收管理办法》,进行试生产的建设项目,建设单位应当自试生产之日起( )内,向有审批权的环境保护行政主管部门申请该建设项目竣工环境保护验收。
工资支付主要包括()。
2014年下半年,实行标准工时制的甲公司在劳动用工方面发生下列事实:(1)9月5日已累计工作6年且本年度从未请假的杨某向公司提出年休假申请。(2)因工作需要,公司安排范某在国庆期间加班4天,其中占用法定休假日3天,占用周末休息日一天,范某日工资为200
今年全国财政赤字规模达1.2万亿元,创下新高。增加财政赤字是为了扩大政府投资。()
《国家中长期教育改革和发展规划纲要(2010~2020年)》提出,到2020年,普及高中阶段教育,毛入学率达到()
在表结构为(职工号,姓名,工资)的表Employee中查询职工号的左4位为"1962"的职工的最高工资值,正确的SQL命令是
Whatwouldyoudoifyou______liveyourlifeonceagain?
最新回复
(
0
)