首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoint的友
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoint的友
admin
2019-06-05
95
问题
使用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********之后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include<iostream>
#include<cmath>
using namespace std;
class CPoint
{
public:
//********1********
//定义类Point的构造函数
//********2********
void display(){cout<<"x="<<x<<endl;cout<<"y="<<y<<endl;}
private:
float x,y;
};
class CDiStance
{
public:
float length(CPoint&p,CPoint &q);
};
float CDistance::length(CPoint&pPoint,CPoint&qPoint)
{
//********3********
}
int main()
{
CPoint mPoint(10,10),nPoint(40,50);
mPoint.display();
nPoint.display();
CDistance len;
cout<<len.length(mPoint,nPoint)<<endl;
return0;
}
选项
答案
(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));
解析
(1)第1个标识下补充定义类CDistance为类CPoint的友元类,声明友元类的格式为:friend<类名>:,故第1个标识下应添加“friend class CDistance;”。
(2)类CPoint的构造函数完成给私有数据成员x和y的初始化,两个参数的缺省值都为0,因此参数含有默认值0,故第2个标识下应添加“CPoint(float a=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个标识下应添加“return sqrt((pPoint.x-qPoint.x)*(pPoint.x-qPoint.x)+(pPoint.y-qPoint.y)*(pPoint.y-qPoint.y));”。
转载请注明原文地址:https://kaotiyun.com/show/C18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序执行后,屏幕的输出是()。#include<iostream>usingnamespacestd;voidswap(intx,inty){inttemp=x;x=y;y=t
有如下定义:intb[10]={1,2,3,4,5,6,7,8,9,10},*q=b;则数值为8的表达式是()。A)*q+8B)*(q+7)C)*q+=8D)q+7
设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为()。A)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩
C++中通常和一个运算符连用,构成一个运算符函数名的C++关键字为______。
数据流的类型有______和事务型。
A、 B、 C、 D、 C结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
结构化程序所要求的基本结构不包括()。A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构
C++中的模板分为函数模板和______。
执行语句序列“intk=0;dok++;while(k*k<20);”后,k的值为______。
已知类Myclass的定义如下classMyClass{public:voidfunction1(MyClass&C){cout<<c.data;)staticvoidfunction2(MyClass&C)
随机试题
简述城市公共安全管理应遵循的原则。
“预算收支报表”反映从年初至本年末止的预算收支完成情况。()
影响离子通道开关的配体主要是
患者男,60岁,工人。因“突发头痛,右侧肢体活动不灵,伴言语不能4h”入院。患者于4h前活动中突然头痛,以左侧头项部为重,呈持续性胀、跳痛,程摩较剧烈,同时出现右侧肢体活动不灵,伴言语不能,呕吐2~3次,呕吐物为胃内容物,非喷射状,无意识障碍及抽搐发作。在
如果股票下跌到每股6元,则投资者的回报率为()
张工在同一日就一项发明创造“一种医疗检测用培养皿的检测台”申请了发明专利又申请了实用新型专利,并在申请时分别说明对同样的发明创造已申请了另一专利。经审查后,张工的实用新型专利申请被授予了专利权。下列关于张工的发明具有显著进步性的理解,错误的是(
下列财政支付活动中,属于购买性支出的是()。
A.伞B.清楚C.秋天D.习惯E.碗F.虽然A:你认识她吗?B:()我不知道她的名字,但是我看过她的照片。
A、 B、 C、 B图片A是公共汽车,图片B是火车,图片C是飞机。
A、TherearenoTVsetsinthem.B、Thereisenoughspaceforplay.C、Thereisalargecommonarea.D、Therearecomputersforstud
最新回复
(
0
)