读书人

重载lt;lt;和gt;gt;运算符如何访问内的私有成员

发布时间: 2012-05-15 14:35:29 作者: rapoo

重载<<和>>运算符怎么访问内的私有成员啊?
class stuinfor
{
private:
int num,age,bornday,tel;
string name,adder,email,sex;
friend ostream &operator <<(ostream &out,stuinfor &s);
friend istream &operator >>(istream &in,stuinfor&s);
public:
stuinfor(int,int,int,int,string,string,string,string);
void remove();
void print(void);
stuinfor(void);
string rename()
{
return name;
}
int renum()
{
return num;
}

void add(int ag,int bday,int nu,int te,string na,string add,string emai,string se);

~stuinfor(void);
};
int find1(int);
string find2(string);

ostream & operator <<(ostream& out,stuinfor& s)
{
out<<s.age<<" "<<s.bornday<<" "<<s.num<<" "<<s.name<<s.adder<<s.email<<s.sex<<'\n';
return out;
}
istream & operator << (istream &in,stuinfor &s)
{
in>>s.age>>" ">>s.bornday>>" ">>s.num>>" ">>s.name>>s.adder>>s.email>>s.sex<<'\n';
return in;
}
不要告诉我掉用公有函数返回
有其他什么方法吗?

[解决办法]
ostream & operator <<(ostream& out,const stuinfor& s)
[解决办法]

探讨

ostream & operator <<(ostream& out,const stuinfor& s)

[解决办法]
就是有标识符被多重定义了。找找看吧。

读书人网 >C++

热点推荐