我一直在谷歌搜索,我只是找不到一个简单的答案.它应该很简单,就像STL一般.
我想定义从std :: ostream公开继承的MyOStream.假设我想在每次将某些内容写入流中时调用foo().
class MyOStream : public ostream {
public:
...
private:
void foo() { ... }
}
Run Code Online (Sandbox Code Playgroud)
我知道ostream的公共接口是非虚拟的,那怎么办呢?我希望客户能够在MyOStream上使用operator <<和write()以及put()并使用我的类的扩展功能.