首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

重载<<有关问题

2013-02-03 
重载问题如图,ofstream的参数表里没有string 所以我想重载使我能把string写入到流中,但是会报错,如

重载<<问题
如图,ofstream<<的参数表里没有string 所以我想重载<<使我能把string写入到流中,但是会报错,如图中,我又不好修改iostream文件加入友元,请问这个重载怎么弄?

提过一个类似的问题:麻烦顺便一起看看
http://bbs.csdn.net/topics/390354076?page=1#post-393564920
http://dl.zhishi.sina.com.cn/upload/90/31/61/1185903161.1451361396.jpg

[解决办法]
首先,你的operator<<()里面只调用了ofs<<s,相当于自己调用自己。你可以用ofs<<string.c_str()或一个一个字符输出。
其次,重载的operator<<()应放在namespace std里面。
[解决办法]
std::string 可以支持流操作,不用自己重载


#include <string>
#include <iostream>
int main()
{
  std::string line;
  std::cin >> line;
  std::cout << line;
  return 0;
}

[解决办法]
引用:
如图,ofstream<<的参数表里没有string 所以我想重载<<使我能把string写入到流中,但是会报错,如图中,我又不好修改iostream文件加入友元,请问这个重载怎么弄?

提过一个类似的问题:麻烦顺便一起看看
http://bbs.csdn.net/topics/390354076?page=1#post-393564920
http://dl.z……

加上
#include <string>
就可以了。

热点排行