【发布时间】:2012-12-08 15:29:29
【问题描述】:
我知道使用 friend 这个词来访问除自己的类之外的私有成员。例如,我有一个 A 类,需要在 A 的方法中访问属于 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));
}
};
作为朋友,有什么好处会使操作员超载? 我真的不明白为什么有人会对它感兴趣。
我已经阅读了很多关于它的内容,但我没有一个明确的想法。
谁能写一个小例子让我可以观察到这个事实?
【问题讨论】:
标签: c++ friend friend-class