首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
admin
2020-06-29
62
问题
使用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
#include
using namespace std;
class CPoint
{
public:
//********1********
//定义类Point的构造函数
//********2********
void display() { cout<<
"x="<
<
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<
nPoint)<
return 0;
}
选项
答案
(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://www.kaotiyun.com/show/QIyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列C++流的操作符中,能够设置下一个数据的输出宽度的是
下列关于C++流的表述中,正确的是
关于函数重载,下列叙述中错误的是()。
下列有关虚函数的表述中正确的是
有如下类定义:classNumber{private:staticintnum;};要初始化Number类的静态成员num,应当在后面加上语句:
在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是
下面描述中,不属于软件危机表现的是( )。
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。
下列有关虚函数的表述中,错误的是
下列关于函数模板的表述中,正确的是
随机试题
生长
根据关系数据模型的性质要求,同一个关系中任意两个元组不能________。
消化性溃疡穿孔后最主要的临床表现是
设公司成立后,发现丁、戊作为出资的门脸房与汽车的实际价额显著低于章程约定的出资价额的,应如何处理?设甲乙丙为公司董事,丙在公司之外另外与辛开设了一家家电营销部,在其任职宏发公司董事期间,共获利润20万元。对该20万元,应如何处理?为什么?
(2012年)某压力表测量范围为1~10MPa,精度等级为0.5级,其标尺按最小分格为仪表允许误差刻度,则可分为()格。
信用证结算方式只对卖方有利。()
国有企业甲、合伙企业乙、自然人丙拟共同投资设立一合伙企业。根据《合伙企业法》的规定,下列关于该合伙企业设立及相关事项的表述中,不正确的是()。
横向垄断协议是指两个或两个以上的因经营同类产品或服务而在生产或销售过程中处于同一经营阶段的同业竞争者,为限制竞争而达成的固定或者变更商品价格,限制商品的生产数量或者销售数量,分割销售市场或者原材料采购市场,限制购买新技术、新设备或者限制开发新技术、新产品的
我国完善社会主义市场经济体制的基本目标是
证明:∫0π/2sinnxcosnxdx=2-n∫0π/2sinnxdx.
最新回复
(
0
)