友元機制允許一個類將對其非公有成員的訪問權授予給指定的函數或類.關鍵字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::)
③友元聲明與作用域
先後順序規則一致.必須先經過定義的類纔可成爲另一個類的友元.
④重載函數與友元關係
類必須將重載函數集中每一個希望設爲友元的函數都聲明爲友元;