首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
admin
2019-01-19
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-qPoint.x)*(pPoint.x-qPoint.x)+(pPoint.y-qPoint.y)*(pPoint.y-qPoint.y))。请在注释//********3********之后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
1 #include<iostream>
2 #include<cmath>
3 using namespace std;
4 class CPoint
5 {
6 publiC:
7 //********1********
8
9 //定义类Point的构造函数
10 //********2********
11
12 void display() { cout<<’’x=’’<<x<<end1;cout<<’’y=’’<<y<<end1;}
13 private:
14 float x,y;
15 };
16 class CDistance
17 {
18 public:
19 float length(CPoint &p,CPoint &q);
20 };
21 float CDistance::length(CPoint&pPoint,CPoint&qPoint)
22 {
23 //********3********
24
25 }
26 int main()
27 {
28 CPoint mPoint(10,10),nPoint(40,50);
29 mPoint.display();
30 nPoint.display();
31 CDistance len;
32 cout<<len.length(mPoint,nPoint)<<end1;
33 return 0;
34 }
选项
答案
(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));
解析
程序当中定义了类CPoint和CDistance,CPoint类含有成员变量x和y,display()函数输出x和y的值;类CDistance只有成员函数length(CPoint &p,CPoint &q),且类CDistance为类CPoint的友元类。
(1)第1个标识下补充定义类CDistance为类CPoint的友元类,声明友元类的格式为:friend<类名>;,故第1个标识下应添加“friend classCDistance;”。
(2)类CPoint的构造函数完成给私有数据成员x和y的初始化,两个参数的缺省值都为0,因此参数含有默认值0,故第2个标识下应添加“CPoint(floata=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个标识下应添加“returnsqrt((pPoint.x-qPoint.x)* (pPoint.x-qPoint.x)+(pPoint.y-qPoint.y)*(pPoint.y-qPoint.y));”。
转载请注明原文地址:https://kaotiyun.com/show/qgAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序执行后的输出结果是#included<string.h>main(){chararr[2][4];strcpy(arr,"you");strepy(arr[1],"me");arr[0][3]=’&’;
最简单的交换排序方法是
有如下类声明:classXA{intX;public:XA(intn){x=n;}};classXB:publicXA{inty;public:XB(inta,intb)
下列关于抽象类的叙述不正确的是
下面关于for循环的正确描述是
下面关于C++语言的描述错误的是
在C++语言中,访问一个对象的成员所用的运算符是______,访问一个指针所指向的对象的成员所用的运算符是______。
复制构造函数的参数一般是
为了取代C中带参数的宏,在C+十中使用
下列数据结构中,能用二分法进行查找的是
随机试题
胸痹缓解期主要表现为脏腑阴阳气血亏虚,其中以何者最为常见
管道标准为W1022—25×2.5B,其中10的含义是()。
不属于阴阳基本内容的是
可出现强迫蹲位的疾病是()
女性,44岁,反复发作上腹部疼痛3年,近3d上腹绞痛,伴发热寒战,皮肤巩膜黄染。若病人出现神志淡漠、嗜睡,最有效的治疗措施是
A.回盲部B.横结肠C.空肠D.直肠、乙状结肠E.降结肠肠结核的好发部位()
土地利用调查1)工程概况××测绘院受××市国土资源局的委托,承担该市土地利用现状更新调查及数据库建设工作。测区为全市范围,约4000km2。2009年已经完成全市土地利用现状调查工作,并已完成初步建库工作。此次更新测量主要采用土地利用分类现场调查,边界
背景材料:某隧道二次衬砌为厚度40cm的C25模筑混凝土。采用先拱后墙法施工时,拱架支撑变形下沉,承包人施工中存在泵送混凝土水灰比偏大;局部欠挖超过限值未凿除;模板移动部分钢筋保护层厚度不足等因素,造成其中一段衬砌完工后顶部、侧墙均出现环向裂缝,
EmilyDickinson,America’sgreatest______,wrotemorethanathousandversesandherworkswereinfusedwithemotionaldepthan
Forsmokers,theworldisanincreasinglyhostileplace.Drivenoutofbarsandotherpublicspaces,smokersarenowtobefound
最新回复
(
0
)