首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
admin
2019-01-19
77
问题
使用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全国计算机二级
相关试题推荐
将以下程序写成三日运算表达式是_____。if(a>b)max=a;elsemax=b;
以下选项中,与k=n++完全等价的表达式是
下面程序的运行结果是#include<iostream.h>intfun(inta[],intn){intresult=1;for(inti=1;i<n;i++)res
若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的节点访问顺序是
在深度为5的满二叉树中,叶子节点的个数为
已知有定义:constintD=5;inti=1;doublef=0.32;charc=15;则下列选项错误的是
用数组表示线性表的优点是
数据结构分为逻辑结构和存储结构,循环队列属于______结构。
当运算符重载为成员函数时,如果函数参数表中没有参数,则表明该重载为单目运算符,操作数就为该对象本身;如果函数参数表中有一个参数,则表示该重载为双目运算符,另外一个操作数为该对象本身。
按照“先进后出”原则组织数据的数据结构是()。
随机试题
上消化道大出血最常见的原因是()
下列唾液腺肿瘤最易侵犯神经的是
在21.8℃时,反应NH4HS(s)NH2(g)+H2S(g)的标准平衡常数KΘ=0.070。平衡混合气体的总压为()kPa。
监理工程师发现施工现场料堆偏高,有可能滑塌,存在安全事故隐患,则监理工程师应当()。
建筑机电工程中常用的排水及管件是()。
下列关于证券、期货投资咨询业务界定的说法中,正确的是()。Ⅰ.举办有关证券、期货投资咨询的讲座、报告会、分析会等Ⅱ.接受投资人或者客户委托,提供证券、期货投资咨询服务Ⅲ.在报刊上发表证券、期货投资咨询的文章、评论、报告,以及通过电台
中国特色社会主义发展基本理念的内容是()。
我国成立于1949——1978年间的旅行社主要有()。
目前,在上海的一些购物中心,地铁站等处,出现了不少优惠券终端机,顾客在终端机前选择商户,用手机拍下优惠券,在消费时可享受5折到9折不等的优惠。每天有不少年轻人光顾这些优惠券终端机,体验省钱消费之道。厂商为什么要发这些优惠券?为什么它不简单地降低产品的价格,
盗窃罪中可以判处死刑的情况有()。
最新回复
(
0
)