首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
admin
2021-05-06
52
问题
使用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://jikaoti.com/ti/Tnh0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义:classBase{public:inta;protected:intb;private:intc;};classDerived:
下列给定程序中,函数fun的功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数作为函数值返回,平均分存放在形参avet所指的存储单元中。例如,输入8名学生的成绩:80.5、60、72、90.5、98、51.5、88、64则低于
下面是一个模板声明的开始部分:templatedouble…由此可知()。
在对函数进行原型声明时,下列语法成分中,不需要的是()。
下列程序的输出结果是()。#include<iostream>usingnamespacestd;template<typenameT>Tfun(Ta,Tb){return(a>=b)?a:b;}
若要重载+、=、<<、==和口运算符,则必须作为类成员重载的运算符是()。
在软件开发中,需求分析阶段产生的主要文档是()。
下列符号中能够作为C++标识符的是()。
在数据库设计中,将E一R图转换成关系数据模型的过程属于()。
下列符号中可以用做C++标识符的是()。
随机试题
如果你为四郎哭泣龙应台经济学家、社会学家、人类学家可能找得出100个方式来回答“文化为什么重要”这个问题,但是我可以从一场戏说起。有一天台北演出《四郎探母》,我特地带
A.betaxololB.brimonidineC.dioivifrinD.timololE.dorzolamide属于碳酸酐酶抑制药的是
急性化脓性中耳炎患者,鼓膜穿孔后立即停用2%石碳酸甘油滴耳,是因为石炭酸甘油
汉宣帝地节四年下诏日:“自今子首匿父母、妻匿夫、孙匿大父母,皆勿坐。其父母匿子、夫匿妻、大父母匿孙,罪殊死,皆上请廷尉以闻”,“亲亲得相首匿”正式成为中国封建法律原则和制度。对此,下列哪一选项是错误的?(2010年卷一13题)
下列不属于住房公积金缴存对象的有()。
在通信网中任意两个或多个用户终端之间建立电路暂时连接的交换方式是(),它暂时连接独占一条电路并保持到连接释放为止。
对屋面工程细部构造的质量验收,下列说法中正确的是()。
商业银行资本总额与加权风险资产总额的比例不得低于()。
某法兰盘生产企业采用单对象流水线的生产组织方式。法兰盘的日生产量为50件,每日工作8小时,时间有效利用系数为0.90,假设废品率为0;流水线的第3道工序计算所需某精密设备为6台,现有5台该种设备投入生产。根据以上资料,回答下列问题:该流水线的第3道工
中国古典园林按照园林占有者的身份可以划分为()。
最新回复
(
0
)