原文出處:
http://community.csdn.net/Expert/topic/5253/5253345.xml?temp=.6615412
友元函數可以定義在類的內部,也可以定義在類的外部,但是即使它定義在類內,它也是“全局函數”。
通常在類函數名前面聲明friend
那么就可以對類內部的private變量進行操作了
vc6.0對友元函數的支持本人認為還可以,并不是他們所說的那么差.
下面給出例子:
Code Example:
#include <iostream>
#include <string>
using namespace std;
class A
{
private:
??? string name;
public:
??? friend void outdata(A &s) ;
??? A(){};
??? virtual ~A){};
??? Astring &s);
};
A:student(string &s)
{
?name=s;
}
void outdata(A &s)
{
?cout<<"out data:"<<s.name<<endl;
}
void main()
{
?string t="tim";
?A s1(t);
?outdata(s1);
}