[ad_1]
単にクラスのメンバーにするのではなく、オペレーターにフレンド関数を選択する理由はありますか? 多くの人がオペレーターにフレンド機能を使用しているようですが、その理由がわかりません。 いずれかの方法で行う方が良いですか? どちらを使用するかはどうやってわかりますか?
私が試したこと:
私は友人とオペレーターについて読んでいます。 どちらも一般的には初めてですが、フレンド演算子の例を試してきました。
解決策 1
このトピックに関するドキュメントを次に示します。 cplusplus.com : 継承[^]
フレンド クラスと関数は非パブリック メソッドとクラスのメンバーにアクセスできるため、アクセス制御と関係があります。
解決策 2
たとえば、新しいタイプを定義するとします。 Person
. 次に、挿入演算子 (<<
)を出力するために Person
の詳細です。
そのようなオペレーターをメンバーにすることは理にかなっていますか? Person
クラス? それをのメンバーにすることは理にかなっていますか ostream
クラス? おそらく、それを実装する方が理にかなっています friend
グローバルスコープで。
[ad_2]
コメント