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

C++中友元函数的有关问题

2012-08-14 
C++中友元函数的问题最近看《C++ Primer Plus》P349有重载operator,并且是利用friend友元函数来访问私有成

C++中友元函数的问题
最近看《C++ Primer Plus》P349有重载operator<<,并且是利用friend友元函数来访问私有成员,按照其范例测试:
class Student
{
private:
int age;
char address[10];
float score;
public:
friend ostream& operator<<(ostream &os,const Student &s);
friend void show(const Student &s);

};

ostream& operator<<(ostream &os,const Student &s) //这个函数会有错误
{
os<<s.age<<","<<s.address<<","<<s.score<<endl;
return os;
}

void show(const Student &s) //这个函数没有错误
{
cout<<s.age<<","<<s.address<<","<<s.score<<endl;
}

调试运行发现,ostream& operator<<(ostream &os,const Student &s) 函数有错,说不能访问私有成员age,address和score。但是show函数却没有错。


[解决办法]
珍惜生命,远离VC6
[解决办法]
珍惜生命,远离VC6
[解决办法]
这在VC6里还真通不过.................

热点排行