首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
admin
2021-05-06
83
问题
使用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全国计算机二级
相关试题推荐
若有定义语句"doublea=2/3;",则语句"cout
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(intx),该函数功能是将x的值转换成二进制数输出到屏幕,并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。例如:x=13,13的二进制
若MyClass为一个类,执行“MyClassa[4],*p[5];”语句时会自动调用该类构造函数的次数是()。
在C++H冲,打开一个文件时与该文件建立联系的是()。
有如下程序:classBase{public:intdata;};classDerivedl:publicBase{};classDerived2:protectedBase{};
下列存储类标识符中,可见性与存在性不一致的是()。
在数据库设计中,将E-R图转换成关系数据模型的过程属于()。
已知表达式++a中的’’++"是作为成员函数重载的运算符,则与++a等效的运算符函数调用形式为()。
若Pay是一个类名,则执行语句Payp1,p2[2],*p3;时Pay的构造函数被调用的次数是
随机试题
集我国园林艺术之大成,有“博物馆公园”之称的是()。[2013年湖北真题]
治疗淤血阻滞导致的内伤发热,应首选的方剂是
筋骨疼痛,或两足痿软,或足膝红肿疼痛,或湿热带下,下部湿疮等,小便短赤,舌苔黄腻。方剂选用
多学科知识的综合应用是咨询科学化的()。
歌舞娱乐放映游艺场所不应设置在人防工程内地下二层及以下层。当设置在地下一层时,室内地面与室外出入口地坪高差不应大于()m。
2009年3月1日,甲房地产公司(简称“甲公司”)与乙建筑公司(简称“乙公司”)签订一份建筑工程承包合同,约定由乙公司承建甲公司开发的景明写字楼项目,工程价款5000万元,工期14个月。工程将要竣工时,甲公司因资金短缺,无力继续提供约定由其提供的部分建
将成熟胡杨细胞放在三种不同培养液中连续培养三天,结果如下表,下列叙述正确的是()。注:“+”表示有添加,“-”表示无添加
古丽平时在单位只埋头处理自己的事情,不跟其他人交流,来单位一年只认识自己处事的人,其他人都不认识。你认同古丽的做法吗?为什么?
可能给项目成本、进度和质量带来坏的影响的事情被称作______。A)灾难B)意外C)风险D)缺陷
Java语言中,临界区用【】关键字标识。
最新回复
(
0
)