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

//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; //计算两点间的距离

}









本文转自dllglvzhenfeng51CTO博客,原文链接:http://blog.51cto.com/1443208/300312,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值