#include <iostream>
#include <cmath>
using namespace std;
class CPoint
{
private:
double x;
double y;
public:
CPoint(double xx=0,double yy=0):x(xx),y(yy){}
double Distance0(CPoint p)const;
friend double Distance1(CPoint &,CPoint &);
double getx(){return x;}
double gety(){return y;}
};
double CPoint::Distance0(CPoint p)const
{
double d;
d=sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y));
return d;
}
double Distance1(CPoint &p,CPoint &c)
{
double d;
d=sqrt((c.x-p.x)*(c.x-p.x)+(c.y-p.y)*(c.y-p.y));
return d;
}
double Distance2(CPoint &p,CPoint &c)
{
double d;
d=sqrt((p.getx()-c.getx())*(p.getx()-c.getx())+(p.gety()-c.gety())*(p.gety()-c.gety()));
return d;
}
int main()
{
CPoint a(4.1,5.5);
CPoint b(2.3,7.2);
cout<<"distance:"<<endl;
cout<<a.Distance0(b)<<endl;
cout<<Distance1(a,b)<<endl;
cout<<Distance2(a,b)<<endl;
return 0;
}
心得体会:构思错误会走很多弯路,,
运行结果: