友元机制允许一个类将对其非公有成员的访问权授予给指定的函数或类.关键字friend
①使用例子:
class A {成员.....};
class B{
public:
friend class A;
private:
int a;
double b;
};
此时A的成员可以直接引用B中的私有成员.
②使其他类的成员函数成为友元
并没有把整个A类设为友元,B就可以指定只允许A的某个成员访问:
class B{
friend A&
A::relocate(A::index,A::index,Screen&);
};
此处将成员函数声明为友元时,函数必须用该函数所属的类名字加以限定(A::)
③友元声明与作用域
先后顺序规则一致.必须先经过定义的类才可成为另一个类的友元.
④重载函数与友元关系
类必须将重载函数集中每一个希望设为友元的函数都声明为友元;