我的代码中有一个ostream
对象,它由各个模块累积,并最终显示在控制台上。我还想将这个ostream
对象写入文件,但是我必须使用一个ofstream
对象重新编写所有代码吗?或者是否有一种方法将其转换为另一个对象(例如通过stringstream
)?
例如,我的许多现有函数看起来像:
ostream& ClassObject::output(ostream& os) const
{
os << "Details";
return os;
}
如果我使用一个ofstream
对象作为参数调用这个函数,那么这个ofstream
对象是否可以积累信息?
ofstream
继承自ostream
,因此您可以直接将ofstream
传递给该函数。 - Drew Dormann