当我想要创建一个新的流时要继承什么
What to inherit from when I want to create a new fstream?
我想在c++中定义一种新的filestream
类型。我应该继承什么?
继承自basic_filebuf
,如果您从头开始编写I/O部分,则继承自basic_streambuf
。您可能还需要一个从basic_[i/o]fstream
派生的类,但为了方便起见,这是严格可选的。如果不需要模板,则删除basic_
并从类继承,而不是从模板继承。
*stream
类都通过一个多态指针调度I/O,你可以使用rdbuf()
方法获取和设置这个多态指针。因此,除非你实现了方便类,否则你可以通过实例化std::iostream
并使用指针调用rdbuf
来进行测试。
手边有一份标准的副本是非常有用的,可以处理派生类的需求。您的主要功能将在虚拟函数overflow
和underflow
中。
相关文章:
- 如果我真的真的想从 STL 容器继承,并且我继承构造函数并删除新运算符,会发生什么?
- 继承此C++代码有什么问题
- 结交一个班友并继承它有什么用
- 私下继承C++抽象基类是什么意思
- 有什么理由在没有继承的情况下声明一个虚拟方法
- 该结构继承的类型是什么
- 有了私人继承,什么时候可以上吊?
- 什么时候使用友元类/函数而不是继承
- QT:私人会员而不是继承?原因是什么?这是一个具体的概念吗?
- C ++什么设计将有助于避免使用侦听器时的多重继承
- 停止线程的方法是什么(当我直接从Qthread继承时)
- 我得到了一个使用 SDL 的 OOP 项目。我没有使用继承。我可以给我的评估员什么理由
- C 如果实际上是继承了类,则内部发生了什么
- 从lambda继承是什么意思
- 在多级继承中派生的虚拟基类会发生什么
- 虚拟基类在多级继承中有什么用
- 在C++中,继承超类的正确方法是什么,以便它们的子类在超级类和子类中没有重复的属性?
- 继承Java集合接口(Set、Map、List等)的C++等价物是什么?或者扩展AbstractCollection
- 我应该采取什么方式使用 qt:all 类继承自 QObject 或删除 新后手动删除
- 如果使单一实例构造函数受到保护,缺点是什么 - 继承 - C++11.