I'm taking a quiz on an intro level class in C++ and I'm trying to understand a question. After searching the internet and not getting an answer, so here I am.
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);
The answer is C.
I know the difference between: fstream, ofstream, ostream, iostream.
What I don't understand is why none of the other options are able to accept the cout or file stream object as an argument.
Is the answer as simple as ostream objects contain data (char,etc) that are able to be passed as arguments?
Any information would be greatly appreciated.
D
because a file stream can be input and output. AnswerC
is output only. – GaliciaD
doesn't work because you can't passstd::cout
to it; it's not anstd::istream
. – Uzziaifstream
for reading, which is a file stream, I can't useC
. The question should be reworded. :-) – Galicia