我有一个 C++ 类MyObject
,我希望能够像向 osstream 一样提供这些数据(但与直接 sstream 不同,传入数据以特殊方式格式化)。我似乎无法弄清楚如何为 MyObject 重载运算符以吃给它的输入。
class MyObject {
public:
ostringstream s;
FEEDME
};
int main() {
MyObject obj;
obj.FEEDME << "Hello" << 12345;
// I want obj.s == ":Hello::12345:"
}
我想要它,这样每一个送入的物品都被: : 包围
所以在给定的例子中,s = ":Hello::12345" 应该是最终结果。我的问题是,我怎样才能告诉对象,当有 a 时<<something
,将 :: 放在某物周围。
这可能吗?