使用我自己的String类和<<操作者

时间:2016-09-12 23:10:34

标签: c++ string operator-overloading ostream

我正在寻找一种方法来使用自定义字符串类的ostream并重载运算符<<流到缓冲区,然后我可以刷到我想要的任何地方(在我的情况下,它将被打印在窗口中)

我对iostream的内部工作方式相当新,但是根据我的理解,我看到使std :: stringbuf成为我的自定义字符串流的基础的方法不起作用,因为stringbuf处理std :: string。

本质上我希望能够做到这一点(或类似):

MyStringClass string
MyOutput << "hello" << string << "World" << std::endl;

可以将MyOutput更改为打印到我想要​​的任何地方。

谢谢。

1 个答案:

答案 0 :(得分:0)

不是问题。定义您的类,并在其定义中添加ostream& operator<<(const String&);

在该运算符中,您可以编写所需的任何处理代码(请查看std :: string以获取灵感)