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