#include<iostream>
#include<cmath>
using namespace std;
class Location
{
public:
Location (double c,double d)
{
x=c;
y=d;
}
double Getx()
{
cout<<"x="<<x<<endl;
return x;
}
double Gety()
{
cout<<"y="<<y<<endl;
return y;
}
double distance(Location&p)
{
double d1;
d1=sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
return d1;
}
friend double distance2(Location&,Location&);
private:
double x,y;
};
double distance2(Location &a,Location &b)
{
double d2;
d2=sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
return d2;
}
int main()
{
Location A(-3,-4);
Location B(-3,4);
A.Getx();
A.Gety();
B.Getx();
B.Gety();
cout<<"A与B两点间的距离(成员函数)d1:"<< A.distance(B)<<endl;
cout<<"A与B两点间的距离(友元函数)d2:"<< distance2(A,B)<<endl;
return 0;
}
运行结果