第4週:演算子のオーバーロード

针对:のostream&演算子<<(のostream&OS、CONSTするClassType・オブジェクト)

ポイントのカップル:

1.最初のパラメータは、オブジェクト上に出力を生成する、のostreamオブジェクトへの参照であるストリームの流れへの書き込みが状態を変化させるため、のostream非const ;のように、パラメータへの参照であるのostreamをコピーしません(標準入力および出力のIStreamのostreamコピーコンストラクタと代入演算子機能が中に配置されているC ++で定義されたクラスストリームのプライベートセクション、およびのみ文を、定義されていません)。

2.第2のパラメータは、クラスへの参照は、一般に、参照パラメータである出力であるとタイプのものである避けるコピー引数、一つ少なくコピーに、constのセットは、出力対象を変更しない一般ので、提供しますconstのconstのconstのオブジェクトと非オブジェクトとして出力するために使用することができます。

3.のostreamの戻り型は、まず、オブジェクトのostream出力オペレータが操作一般に基準値のostreamオブジェクトをコピーすることができないので、それは参照でなければならない。第二の基準のコピーを小さくすることができ、効率;最後に、連続的に反映させるために、連続的な出力を達成するために、<<実際に二つの連続演算子、リターンは新しい一時的なオブジェクトを生成する場合、参照でない場合、複数の出力を持つオブジェクトののostreamアイコン操作動作を実現区別;およびCOUT <<; COUT << B COUT << << Bに似ている異なるオブジェクトについて。

おすすめ

転載: www.cnblogs.com/wwk510/p/12541165.html