一般来说,仅仅只有类的成员函数能访问类的私有或者保护成员,如
果我们声明一个公共的函数作为这个类的友元,这个函数也可以访问
类的私有成员。
友元是 C++里面用来破坏类的封装的一个机制。
我们可以使用类的友元或者类的友元函数.
2.友元函数
友元函数是类的非成员函数(普通函数),在类的里面声明,必须在
函数前面加上关键词“friend” 。
和普通函数类似,友元函数能够在类的里面或者外面被实现。
友元函数必须通过类的对象名来访问类的数据成员。
友元函数的例子
-computing distance between two points
源程序:
Point(double xx=0, double yy=0);
double GetX() {return X;}
double GetY() {return Y;}
friend double Dist(Point &a, Point &b);