我定义的这个重载输入操作符哪里有什么问题啊???
................class student{ friend std::istream& operator>>(std::istream&,student&); friend std::ostream& operator<<(std::ostream&,const student&);public: student():s_name("*"),s_num("*"),s_class("*"){} std::string s_name; //姓名 std::string s_num; //学号 std::string s_class; //班级 std::map<std::string,double> s_score;//课程得分 double average; //平均成绩 };inline std::istream& operator>>(std::istream &in,student &rhs){ in>>rhs.s_name>>rhs.s_num>>rhs.s_class; std::string kc; //课程名字 double score=0.0; //课程得分 while(in>>kc>>score) rhs.s_score.insert(make_pair(kc,score)); return in;}................................int main(){ ifstream infile("d:\\sdt.txt"); string str_line; student xuesheng; while(getline(infile,str_line)) { istringstream sin(str_line); sin>>xuesheng; cout<<xuesheng<<endl; }}................