首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
admin
2019-01-19
67
问题
使用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;ClassTest{public:Test(){n+=2;}~Test(){n-=3;)s
有如下程序:#include<iostream>usingnamespacestd;ClassTest{public:Test(){n+=2;}~Test(){n-=3;}sta
在深度为5的完全二叉树中,叶子结点的个数最多为______。
以下叙述中不正确的是
下面程序的输出是main(){intx=100,a=10,b=20,ok1=5,ok2=0;if(a<B)if(b!=15)if(!okl)x=1;else
下面各项中不属于软件生存期中开发阶段的是
下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,在下画线处应填入的选项是#include<iostream.h>voidmain(){inta,b,t;cin>>a
在数据库的外模式、模式和内模式3级模式的体系结构中,存在两级映射:外模式到模式的映射定义了外模式与模式之间的对应关系;模式到内模式的映射定义了数据库的逻辑结构与______之间的对应关系。
类模板不同于函数模板,类模板只可用______型参数。
随机试题
下列叙述中正确的是()。
肝硬化内分泌失调引起的表现为( )
与硅钨酸试液反应生成淡红色沉淀的药物是在120°加热3分钟或在盐酸中于4~90℃加热2小时可以消旋化的药物是
股东必须亲自出席股东大会。
兴华股份有限公司(以下简称兴华公司)为华东地区的一家上市公司,兴华公司2008年至2010年与投资性房地产有关的业务资料如下:(1)2008年1月,兴华公司购入一幢建筑物用于出租,价款为8000000元,款项以银行存款转账支付。不考虑其他相关税费。
2005年11月天然原油的生产量为()万吨。2005年11月火电的生产量比水电的生产量约多()亿千瓦小时。
2015年,安徽省委省政府推进精准扶贫、精准脱贫,在3000个贫困村实施了整村推进工程,减少贫困人口()人。
M城位于E湖边,C城位于M城西边,S城在C城的东边,D城在R城的东边,又在S城与C城的西边,最靠西的城市是()。
根据以下资料,回答以下题。2013年10月份,社会消费品零售总额21491亿元,同比名义增长13.3%。其中,限额以上企业(单位)消费品零售额10579亿元,增长12.4%。1~10月份,社会消费品零售总额190308亿元,同比增长13.0%。按经
TermiteIngenuityTermites,socialinsectswhichliveincoloniesthat,insomespecies,contain2millionindividualsormo
最新回复
(
0
)