需要从 istream 和 ostream 派生 iostream
need for deriving iostream from istream and ostream
在学习I/O
时我遇到了:
IOstream:iStream从流读取,oStream写入流,IOeStream读取和写入流:派生自iStream和Ostream
如果istream
和ostream
做同样的工作,继承的需要是什么?
正是通过使iostream
继承istream
和从ostream
,您将获得一个支持输入和输出以及两个接口(来自istream
和ostream
)的类。这并不意味着功能是重复的,它只是意味着istream
和ostream
的接口及其实现正在被重用。
作家和读者的原型是
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
'es 成员上调用较低级别的流函数。
从std::istream
和std::ostream
派生std::iostream
意味着您可以将std::iostream
实例传递给任一函数,并且它会自动传入std::iostream
的正确部分。
std::istream
和std::ostream
静态派生自包含它们通用代码的std::ios
。
相关文章:
- 为什么使用 "this" 指针调用派生成员函数?
- 具有奇怪重复模板模式的派生类中的成员变量已损坏
- 在派生函数中指定void*参数
- 如何通过派生类函数更改基类中的向量
- 如何委托派生类使用其父构造函数?
- ostream过载时的缓冲区冲洗
- 如何使用单独文件中的派生类访问友元函数对象
- 派生类销毁的最佳实践是什么
- 如何使用基类指针引用派生类成员
- 派生类是否可以在抽象工厂设计模式中具有数据成员
- 使用基类指针创建对象时,缺少派生类析构函数
- 如何引用基类的派生类?
- 存储模板类型以强制转换回派生<T>
- 需要从 istream 和 ostream 派生 iostream
- 在 C++ 中用派生类型重写成员函数
- 具有多个类、派生类的C++正向声明
- 重载 std::ostream& 运算符<< 在派生类中而不static_cast<>
- 从ostream(stdout)派生stdio FILE句柄
- 派生成员和重载Ostream运算符
- 从 ostream 或 ostream_iterator 派生,使流在C++中漂亮的打印机