一个重载的问题?急求大大

xugao287 2008-05-19 08:19:40
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
struct student
{
string num;
string name;
string score;
};
class stud
{
private:
student s;
public:
stud()
{
cin>>s.num>>s.name>>s.score;
}
fstream& operator<<(fstream& in,class& out)
{
in<<out.s.num<<out.s.name<<out.s.score;
return in;
}
}
void main()
{
stud s;
fstream out("pig.txt",ios::in|ios::out);
out<<s;
}
...全文
39 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
taodm 2008-05-19
  • 打赏
  • 举报
回复
用的VC6这个垃圾货吧。建议扔了,升级到VC2005express或者wxdevcpp
实在不肯,那么
class stud
{
public:
student s;
stud()
{
cin>>s.num>>s.name>>s.score;
}
friend fstream& operator < <(const fstream& in,const stud& out)
{
in < <out.s.num < <out.s.name < <out.s.score;
return in;
}
};
还有,你这个in和out真是起得好变量名。
xugao287 2008-05-19
  • 打赏
  • 举报
回复
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
struct student
{
string num;
string name;
string score;
};
class stud
{
public:
student s;
stud()
{
cin>>s.num>>s.name>>s.score;
}
friend fstream& operator<<(const fstream& in,const stud& out);
};
fstream& operator<<(const fstream& in,const stud& out)
{
in<<out.s.num<<out.s.name<<out.s.score;
return in;
}
void main()
{
stud s;
fstream out("pig.txt",ios::in|ios::out);
out<<s;
}
这样还是不行呀?能不能给个具体解决了的代码? 谢谢
独孤过儿 2008-05-19
  • 打赏
  • 举报
回复
没有人告诉过你,输入和输出操作符只能重载成友元的吗?

65,206

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧