【发布时间】:2009-04-21 12:37:10
【问题描述】:
我一直在谷歌搜索,但我找不到一个简单的答案。它应该很简单,就像 STL 通常一样。
我想定义从 std::ostream 公开继承的 MyOStream。假设我想在每次向我的流中写入内容时调用 foo()。
class MyOStream : public ostream {
public:
...
private:
void foo() { ... }
}
我知道ostream的公共接口是非虚拟的,那怎么办呢? 我希望客户能够在 MyOStream 上同时使用 operator
【问题讨论】:
-
STL 可能很简单,但这只是 C++ 标准库的一部分。 iostreams 库与(曾经的)STL 无关。 STL 基本上是 contianers + 迭代器 + 算法。 Iostreams,语言环境和所有具有完全不同来源的东西,通常很难使用;)
标签: inheritance stl ostream