首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoint的友
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoint的友
admin
2019-06-05
99
问题
使用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;classTestClass{staticinti;public:TestClass(){i++;
类中的一个字符指针成员指向具有m个字节的存储空间时,它所能存储的字符串的最大长度为()。A)m-2B)m-1C)mD)m+1
A、 B、 C、 D、 C软件的生命周期可分为软件定义、软件开发及软件运行维护三个阶段。其中软件定义阶段的主要工作有可行性研究与计划制订和需求分析等;软件开发阶段的主要工作有概要设计、详细设计和测试等;软件运
有如下语句序列:intx=-10;while(++x){}运行时while循环体的执行次数为______。
下列关于析构函数的描述中,错误的是()。A)析构函数可以重载B)析构函数由系统自动调用C)每个对象的析构函数只被调用一次D)每个类都有析构函数
结构化程序所要求的基本结构不包括()。A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构
C++中的模板分为函数模板和______。
若目前D盘根目录下并不存在test.txt文件,则下列打开文件方式不会自动创建test.txt文件的是()。A)ifstreamfin;fin.open("d:\\test.txt",ios_base::in);B)fstream
要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是()。A)fstreamB)istrearaC)ostreamD)iomanip
软件危机出现于60年代末,为了解决软件危机,人们提出了______的原理来设计软件,这就是软件工程诞生的基础。
随机试题
水肿证见湿热久羁、化燥伤阴,治宜选用
A.透明管型B.蜡样管型C.上皮细胞管型D.白细胞管型E.红细胞管型急性肾小球肾炎尿中常见
A、胎产式B、胎方位C、胎先露D、胎姿势E、骨盆轴胎体纵轴与母体纵轴的关系是()。
霍乱发病主要由哪项引起流脑发病主要由哪项引起
某甲因盗窃罪案发被捕,在侦查人员对其审汛期间,交待了自己与李某诈骗4万元犯罪的事实,并提供了同案犯李某可能隐匿的地点,根据这一线索,侦查机关顺利将李某追捕归案。对某甲的盗窃罪如何处罚:()
由于某些原因,若短期内设备脱离了实验室的直接控制,返回后仍可以正常使用。()
根据《企业财务会计报告条例》的规定,企业财务会计报告案编制时间分为( )财务会计报告。
分时图是指某一交易日内,按照时间顺序将对应的()进行连线所构成的行情图。
下列各项活动缴纳营业税时,处理正确的有()。
管理就是管理者在一定的环境下,为了实现特定组织的目标,动员和运用资源而进行的计划、组织、领导和管制等社会活动。()
最新回复
(
0
)