#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 distance1(Cpoint &);
friend double distance2(Cpoint &,Cpoint &);
double getX(){return x;}
double getY(){return y;}
};
double distance3(Cpoint &,Cpoint &);
double Cpoint::distance1(Cpoint &p)
{
double dx=(x-p.x),dy=(y-p.y);
return sqrt(dx*dx+dy*dy);
}
double distance2(Cpoint &p1,Cpoint &p2)
{
double dx=(p1.x-p2.x),dy=(p1.y-p2.y);
return sqrt(dx*dx+dy*dy);
}
double distance3(Cpoint &p1,Cpoint &p2)
{
double dx=(p1.getX()-p2.getX()),dy=(p1.getY()-p2.getY());
return sqrt(dx*dx+dy*dy);
}
int main()
{
Cpoint p1(10,13),p2(-2,6);
cout<<"1.成员函数:"<<p1.distance1(p2)<<endl;
cout<<"2.友元函数:"<<distance2(p1,p2)<<endl;
cout<<"3.一般函数:"<<distance3(p1,p2)<<endl;
return 0;
}