c++ 怎样重载<<操作符才能连续使用?
请教,如下代码怎样才能连续使用 << 1 << 2 ?
还有 << CR ;
#include <iostream>
class myOutText{
public:
int &operator << (auto s){
std::cout << s;
}
void CR(){
putchar('\n');
}
};
int main(void)
{
myOutText cout;
cout << "string<<";
cout.CR(); // 怎样实现 cout << CR ;
cout << "1<<2<<\n";
cout << 1 << 2; // 怎样才能连续输出 12
return 0;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
输出:
谢谢指点,还有第二个问题也麻烦解决一下
怎样实现 cout << CR ; //相当于 std::cout << std::endl;
把回车输出给 myOutText cout ?
自己想了一个变通的办法:
输出结果:
【新问题】
改进代码后,不用return *this; 也能连续使用,这又是为什么呢?
输出结果: