首页 > 解决方案 > 需要从 istream 和 ostream 派生 iostream

问题描述

在学习时I/O我遇到了:

iostream:istream 从流中读取,ostream 写入流,iostream 读取和写入流:派生自 istream 和 ostream

如果做同样的工作istream,继承的需要是什么?ostream

标签: c++io

解决方案


作家和读者的原型是

class MyClass;
std::ostream& operator<< (std::ostream stream&, const MyClass &obj)
{
    obj->WriteTo(stream);
    return stream;
}

std::istream& operator>> (std::istream stream&, MyClass &obj)
{
    obj->ReadFrom(stream);
    return stream;
}

MyClass这些函数(尤其是 writer)在'es 成员上调用较低级别的流函数。

从两者std::iostream派生意味着您可以将实例传递给任一函数,std::istream并且它会自动传递 in 的正确部分。std::ostreamstd::iostreamstd::iostream

std::istream并且std::ostream是静态派生的,std::ios其中包含它们的公共代码。


推荐阅读