ストリームの演算子のオーバーロード(>>)または(< <)のストリーム関数のために、常にフレンド関数が必要なのはなぜですか。ストリーム(>>)と出力ストリーム(<<)オブジェクトのオーバーロード
0
A
答えて
0
オブジェクトにアクセスできないプライベートデータメンバーが含まれていない限り、それは友人である必要はありません。
たとえば、クラスにすべてのメンバーのゲッターとセッターがある場合、そのクラスを使用して演算子を実装できます。その場合、それは友人である必要はありません。
-1
挿入演算子< <には、friend関数がオーバーロードされています。オーバーロードされた演算子を使用すると、オブジェクトの内容を直接cout文で表示することができます。抽出演算子は、演算子が呼び出されるcin文の実行後にオーバーロードされます。より詳細な説明は、thisを参照してください。
関連する問題
- 1. ストリーム<Object>〜入力ストリーム
- 2. SOAP <Body> ...ストリーム...</Body>
- 3. ストリーム<Object>の代わりに<Set<Object>>
- 4. ストリームのストリーム:ストリームから変換できません<Object>
- 5. エラー:<連結ストリームの入力>のヌル文字>
- 6. マップ用のJava 8ストリーム<String、Set <String>>
- 7. オプション<T>をストリーム<T>に変換する方法?
- 8. ファイルからのストリーム<fstream>
- 9. リスト<ステージング<Importable>>リストに<ステージングする<インポート可能なImpl >>をjavaの8ストリーム
- 10. HTML5 <audio>ストリームOSXサファリERROR
- 11. bashの - コマンドから<em>CHK</em>ファイルに記録された典型的な出力ストリーム
- 12. std :: vectorのフォーマットされていないストリーム入力<double>
- 13. 表示<<..>> =出力中
- 14. ストリームを作成する<T>単一オブジェクトから
- 15. ストリーム<Map <String、String >>を設定して<String>の値をJava 8に設定
- 16. 集計リスト<String>をHashMap <String, T>ストリームAPIを使用
- 17. I/Oストリーム文字列操作(正しいCin/cout演算子<</>>)
- 18. TensorFlow演算子のオーバーロード</p> <pre><code>tf.add(x, y) </code></pre> <p>とTensorFlowで</p> <pre><code>x + y </code></pre> <p>の違いは何
- 19. のJava 8つのストリーム:この方法は、箱入り()種ストリーム<Byte>
- 20. は、私はコード以下のような<code>String</code>と<code>HashMap</code>持っているJavaの8ストリーム
- 21. connection.Close()とconnection.Dispose()の違いは何ですか? <code>SQLiteDataReader</code>オブジェクトの</p> <ul> <li><code>Close()</code></li> <li><code>Dispose()</code></li> </ul> <p>同じ:
- 22. ベクトル<int>入力と出力
- 23. C++でストリーム抽出演算子(>>)をオーバーロードできません
- 24. "**/* /"と "** /"の違いは?出力は、少なくとも小さなサブツリーのために、同じように見える</p> <p><code>Dir.glob("**/*/")</code></p> <p><code>Dir.glob("**/")</code></p> <p>:ここ
- 25. 私は以下のように必要な出力をしたい、次の入力</p> <pre><code>I/O 1< img > '< input > I/O 1<' img > '< input > </code></pre> <p>ためのPython
- 26. RethinkDBでは、 `group`は元のストリームの順序を保持していますか?</p> <pre><code>r.table.orderBy(someIndex).group("someField") </code></pre> <p>がそれぞれグループ化されたストリーム中の要素も同様に<code>someIndex</code>でソートされます:
- 27. Iは<strong>ID</strong>ノードのnumberic IDであり、<strong>IDS</strong>は、隣接ノードのIDのリストである<em>ペア</em><strong></strong>のストリームを有するエッジ
- 28. コレクション<PSObject>〜CSV出力
- 29. C++演算子のオーバーロード<double> - <Matrix>
- 30. C++コンパイラが出力ストリーム演算子の間違ったオーバーロードを選択する<<