首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
admin
2019-01-19
61
问题
使用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.h>voidmain(){int3=1,b=2;boolc=1;if(a>b)||c)cout<<“true”<<endl;else
有如下的程序:#include<cstring.h)#ingclude<iostream.h)usingnamespacestd;ClassMyString{public:MyString(const
下面的描述中错误的是
语句序列longx;x=0L;可用一个语句表示为______。
将E-R图转换到关系模式时,实体与联系都可以表示成
下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,在下画线处应填入的选项是#include<iostream.h>voidmain(){inta,b,t;cin>>a
线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是
有如下类声明:classFoo{intbar;};则Foo类的成员bar是
用树状结构表示实体之间联系的模型是
数据结构分为线性结构和非线性结构,带链的队列属于______。
随机试题
患者,55岁。戴下半口义齿5天,因咬肌前沿磨痛,且咬肌活动时义齿松动脱位,其病因是
在睾酮的17α位引入甲基而得到甲睾酮,其主要目的是()。
(2009年案例分析第76—80题)甲市飞云公司(受让方)与乙方兰天公司(转让方)签订了一份土地使用权转让合同,该土地在丙市,预付定金50万元,合同约定3个月内付清余款,之后双方办理土地使用权转让手续。飞云公司又与丁市兴业公司签订了其中部分土地使用权转让协
在存货陆续供应和使用的情况下,导致经济批量增加的因素有()。
请用不超过150字的篇幅,概括出给定资料所反映的主要问题。就给定资料所反映的主要问题,用1200字左右的篇幅,自拟标题进行论述。要求中心明确,内容充实,论述深刻,有说服力。
语音识别
计算χy(χ+y)dσ,其中D是由χ2-y2=1及y=0,y=1围成的平面区域.
1.输入下列文字并拷贝4次,各成一个段落,使其成为5个自然段,并以WD08A.DOC为文件名保存在指定文件夹下。输入的文字内容如下:2.将WD08A.DOC文档中的“福娃”设置为黑体三号字,并以WD08B.DOC为文件名保存在指定文件夹下。3.在某
打开工作簿文件Excel.xlsx,将工作表sheetl的A1:C1单元格合并为一个单元格,内容水平居中,计算人数的“总计"及“所占比例”列的内容(所占比例=人数/总计,保留两位小数点的百分比格式),将工作表命名为“员工年龄情况表”。
A、Inashop.B、Atahotel.C、Atarestaurant.D、Atalibrary.B根据文中“housekeepingstaff”和“Reception”等关键词可推断出对话发生在旅馆里,故选B。
最新回复
(
0
)