您的位置:首页 > 职场人生

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

2010-04-19 09:09 399 查看
//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; //计算两点间的距离
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  函数 职场 休闲