C++中友元是什么?它应该具体怎么用呢?

来源:百度知道 编辑:UC知道 时间:2024/05/31 12:47:24

对于一个对象中的私有\保护数据,只能通过它的成员函数来修改\调用:
class myclass{
private:
int a;
public:
void access(int x){ a = x;}
};
此时,access是myclass的成员函数。
但如果我们想要一个函数,既能改变成员变量,又可以被程序其它部分调用,这时,我们就需要友元(friend)函数:
class myclass{
private:
int a;
public:
friend int access_friend (int x);
void access (int x){a = access_friend(x);}
};

int access_friend(int x)
{
return x * x;
}

就相当与一个能访问一个类的接口.很少有情况能用上友元的.

友元破坏封装,少用为好