私はC++のイントロレベルのクラスでクイズを取っています。質問を理解しようとしています。インターネットを検索して回答が得られなかったので、私はここにいる。 fstreamの、ofstreamの、のostream、iostreamの:fstream、ofstream、ostream、iostreamの相違点
Which of the following function declarations will accept either cout or a file stream
object as its argument?
A. void output(fstream &outFile);
B. void output(ofstream &outFile);
C. void output(ostream &outFile);
D. void output(iostream &outFile);
答えは、私は違いを知っているC.
です。
私が理解できないのは、他のオプションのどれもが引数としてcoutまたはファイルストリームオブジェクトを受け入れることができない理由です。
ostreamオブジェクトには引数として渡すことができるデータ(charなど)が含まれているため、答えは簡単ですか?
すべての情報をいただければ幸いです。
おそらく[このC++ I/Oリファレンス](http://en.cppreference.com/w/cpp/io)とその継承階層図は役に立ちますか? –
関連:[派生クラスを、基本クラスをパラメータとする関数への参照によって渡すことは可能ですか?](https://stackoverflow.com/questions/9285627/is-it-possible-to-pass-derived-classes- by-reference-to-a-function-taking-base-cl) – Borgleader
ファイルストリームを入出力できるので、 'D 'を選択します。答え 'C'のみが出力されます。 –