/*
*Copyright (c) 2014,烟台大学计算机学院void change(int a[8][8]);
*All rights reserved.
*文件名称:main.cpp
*作者:苏强
*完成日期:2014年4月16日
*版本号:v1.0
*
*问题描述:分别用成员函数、友元函数和一般函数输出两点间的距离
*/
#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) {}
friend double distance1(CPoint &,CPoint &);
double distance2(CPoint &);
double getx() {return x;}
double gety() {return y;}
//请继续写需要的代码
};
double distance1(CPoint &p1,CPoint &p2)
{
double dx=p1.x-p2.x,dy=p1.y-p2.y;
return sqrt(dx*dx+dy*dy);
}
double CPoint::distance2(CPoint &p)
{
double dx=p.x-x,dy=p.y-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(5,2),p2(5,5);
cout<<distance1(p1,p2)<<endl;
cout<<p1.distance2(p2)<<endl;
cout<<distance3(p1,p2)<<endl;
return 0;
}