友元函数不是成员函数,但可以访问类的私有成员,它的作用在于提高程序的运行效率,但却破坏了类的封装性和隐蔽性。
#include <iostream>
#include <math.h>
using namespace std;
class Point
{
public:
Point(float i=0.0f, float j=0.0f)
{
x=i;
y=j;
}
friend float Distance(Point &left, Point &right);
private:
float x,y;
};
float Distance(Point &left, Point &right)
{
float dx=right.x-left.x;
float dy=right.x-left.x;
return sqrt(dx*dx+dy*dy);
}
void main()
{
Point a(1.0, 3.5), b(1.5, 5.5);
cout<<Distance(a, b)<<endl;
}
本文介绍了一个使用C++实现的简单示例,通过定义友元函数来计算两点之间的距离。友元函数虽不是类成员,却能访问类的私有成员,以此提升程序效率。示例展示了如何声明及实现友元函数。
953

被折叠的 条评论
为什么被折叠?



