使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi

admin2017-09-20  25

问题 使用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));

解析 程序当中定义了类CPoint和CDistance,CPoint类含有成员变量x和y,display()函数输出x和y的值;类CDistance只有成员函数length(CPoint&p,CPoint&q),且类CDistance为类CPoint的友元类。
转载请注明原文地址:https://kaotiyun.com/show/YUAp777K
0

最新回复(0)