【解決方法】オペレーターにフレンドを使用する場合


単にクラスのメンバーにするのではなく、オペレーターにフレンド関数を選択する理由はありますか? 多くの人がオペレーターにフレンド機能を使用しているようですが、その理由がわかりません。 いずれかの方法で行う方が良いですか? どちらを使用するかはどうやってわかりますか?

私が試したこと:

私は友人とオペレーターについて読んでいます。 どちらも一般的には初めてですが、フレンド演算子の例を試してきました。

解決策 1

このトピックに関するドキュメントを次に示します。 cplusplus.com : 継承[^]

フレンド クラスと関数は非パブリック メソッドとクラスのメンバーにアクセスできるため、アクセス制御と関係があります。

解決策 2

たとえば、新しいタイプを定義するとします。 Person. 次に、挿入演算子 (<<)を出力するために Personの詳細です。
そのようなオペレーターをメンバーにすることは理にかなっていますか? Person クラス? それをのメンバーにすることは理にかなっていますか ostream クラス? おそらく、それを実装する方が理にかなっています friend グローバルスコープで。

コメント

タイトルとURLをコピーしました