我对使用这个词有一个想法friend
,可以访问除自己的类之外的私有成员。例如,我有一个 A 类,需要在 AI 的方法中访问 B 类属性的私有方法,可以将该方法声明为友元。
但是,请参阅以下代码:
#include <cstdlib>
class Coord {
private:
int x, y;
public:
Coord (int i1, int i2) : x(i1), y(i2) {
}
friend Coord operator- (Coord const& c1, Coord const& c2) {
return Coord(c1.x-c2.x, c1.y-c2.y);
}
Coord abs() {
return Coord(std::abs(x),std::abs(y));
}
};
作为朋友,哪些好处可能会使操作员超负荷?我真的不明白为什么有人会对它感兴趣。
我已经阅读了很多关于它的内容,但我没有一个明确的想法。
有人可以写一个我可以观察到事实的小例子吗?