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));
}
};
友人として、オペレーターに過負荷をかける可能性のあるメリットはどれですか?なぜ誰かが興味を持っているのか、私にはよくわかりません。
私はそれについてたくさん読みましたが、明確な考えがわかりませんでした。
誰かが私が事実を観察できる小さな例を書くことができますか?