2017-03-28 11 views
1

免責事項:私は完全なC++の初心者です。この質問に似た回答がある場合は、私がそれを見逃しているかもしれないので、私に指示してください。理論の方法。std :: ostreamへの入力を表示

は私がostreamへの参照を受け入れる方法があるとします。

printAllObjects(std::ostream& os); 

1は、ファイルにオブジェクトのすべてのリストを印刷することができるように、私は、それがostreamに変更を行うと仮定していますいう。 (私はここで間違っているかもしれない)

それはostreamに書き込みを何見ての方法はありますか? (好ましくはcoutを介して)?

+0

あなたは 'printAllObjects'を制御しますか、またはそれはあなたがコントロールの上に持っていないライブラリの一部ですか? – Tas

+0

いいえ、それは我々が与えられているライブラリーの一部であり、残念ながら – qasimir

答えて

6

std::coutstd::ostreamで、これだけの機能にstd::coutを渡し、あなたはそれが何をするかわかります

printAllObjects(std::cout); 

この柔軟性はstd::ostreamへの参照を受け入れる非常に目的です! std::ostreamベースから継承

他のストリームタイプは含む:

  • std::ofstream(文字列出力用)
  • std::ostringstream(ファイル出力のために)。 std::coutがタイプであることを言うことはありません

。そうではありません。 std::ostreamの特別なグローバルインスタンスです。

+0

'のstd :: cout'は私が推測オブジェクトではないでしょうか?これはとにかくコンパイルされているようですが、新たな問題は私がそれをテストするのを妨げています。私はそれが成功した場合あなたに戻って取得しますが、その間になります。おかげで(暫定) – qasimir

+0

@qasimir:それはオブジェクトです。 –

関連する問題