首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
admin
2019-01-19
69
问题
使用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全国计算机二级
相关试题推荐
需求分析阶段的任务是确定
下列叙述中,错误的是
通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为______。
数据库系统的主要特点为数据集成性、数据的高______和低冗余性、数据独立性和数据统一管理和控制。
有如下程序:#include<iostream>usingnamespacestd;ClassTestClass{private:intx,y;public:TestClass(int
对于拷贝构造函数和赋值操作的关系,正确的是()。
冒泡排序算法在最好的情况下的元素交换次数为______。
下列关于模板的说法正确的是
下列字符串中,正确的C++标识符是
operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为______的。
随机试题
村集体经济组织资产负债表中的“应收款项”项目,应根据()计算填列。
原子吸收法测定肉、蛋及制品中的锌时,灰化后应将样品制成体积分数为1%的盐酸溶液。
A.柏油样黑便B.呕大量鲜红血可伴休克C.便血与呕血D.以便血为主,不呕血E.腹腔内大出血食管静脉曲张出血的临床表现
以下不属于基金管理公司制定内部控制制度的原则的是()。
经营者按核定的实现利润基数分档提取效益年薪的模式是()。
教育过程中班主任如何做好后进生的工作?
①太阳在亿万年的历史长河中忠于职守地为地球提供着热量,它的能源是什么?②这是一个催人探索的问题。③在相对论出现之前,人们解释说太阳内部物质燃烧而释放出能量。④相对论诞生后,则解释为原子核的裂变产生出巨大的能量。⑤这两种解释使人类面临的选择都将是痛苦的。
(2003年第2题)阅读下面短文,回答下列问题:文学翻译的最高理想可以说“化”。把作品从一国文字转变成另一国文字,既能不因语文习惯的差异而露出生硬牵强的痕迹,又能完全保存原作的风味,那就算得人于“化境”。十七世纪一个英国人赞美这种造诣高的翻译,比为原作的
假定某公司普通股票的资金成本为10%,个人所得税率为20%,股利再投资的交易费用率为l%,问该公司留存收益的资金成本为多少?
设f(χ)在χ=0的某邻域内连续,若=2,则f(χ)在χ=0处().
最新回复
(
0
)