使用友元函数计算两点间的距离

//5_6.cpp  使用友元函数计算两点间的距离
//友元函数是类中用关键字friend修饰的非成员函数
#include <iostream>
#include <cmath> 
// cmath是c++标准风格的头文件,位于std命名空间,用法和math.h差不多,都是包含一些常见的数学函数。
//具体参考: http://www.ggv.com.cn/forum/clib/clib.html
using namespace std;
class Point //Point类定义
{
public: //外部接口
 Point(int xx=0, int yy=0) {X=xx;Y=yy;}  //构造函数
 int GetX() {return X;}
 int GetY() {return Y;}
 friend float fDist(Point &a, Point &b); //友元函数声明
private: //私有数据成员
 int X,Y;
};
//友元函数可以是一个普通的函数,也可以是其他类的成员函数。
//虽然它不是本类的成员函数,但是它的函数体中可以通过对象名访问类的私有和保护成员
float fDist(Point &p1, Point &p2) //友元函数实现
{ double x=double(p1.X-p2.X); //通过对象访问私有数据成员
 double y=double(p1.Y-p2.Y);
 return float(sqrt(x*x+y*y));
}
int main() //主函数
{
 Point myp1(1,1),myp2(4,5); //定义Point类的对象
 cout<<"The distance is:"; 
 cout<<fDist(myp1,myp2)<<endl; //计算两点间的距离
}

你可能感兴趣的:(函数,职场,距离,休闲,用友)