目錄
一、友元的作用
二、實例說明
1. 友元方法
例:
2.友元類
例:
三、注意事項
一、友元的作用
1. 可以讓一個類外 函數 或 類對象 訪問一個 類內私有 成員或方法。
二、實例說明
1. 友元方法
例:
用friend 關鍵字在Tom 類中聲明 了一個 OtherCheckMe 友元方法?,之后在Tom類外對 OtherCheckMe 進行定義,便可以在 OtherCheckMe 中訪問 Tom 類中的成員了。
class Tom
{friend void OtherCheckMe(Tom& man);private:int Checkage(){return age;}int age = 10;};
void OtherCheckMe(Tom & man)
{cout << "age = " << man.age << endl;
}
int main()
{Tom man0;OtherCheckMe(man0);return 0;
}
2.友元類
例:
用friend關鍵字在Tom 類中聲明 一個 友元類,意思是,Him類中可以自由訪問Tom類中的成員
class Tom
{friend class Him;private:int Checkage(){return age;}int age = 10;};
class Him
{
public:Tom man;void Checkage(){cout << man.age << endl;}
};
int main()
{Him Jack;Jack.Checkage(); return 0;
}
三、注意事項
1.一個函數可以是多個類的友元(適用于同一個函數需要操作多個類 )
2.能少盡量少用,他是,增加耦合度,破壞封裝 / 突破封裝的一種方式