c++基礎要點整理(二)之——友元

友元的定義

一般在c++中, 類都私有成員是不允許其他類訪問的,但是c++中可以通過友元來訪問類的私有成員。c++中, 可以把全局函數或者類定義爲類的友元

void Print(int& a);
class FriendClassTest
{
          // 將全局函數申明爲友元;
         Friend void Print(int& a);
         // 將外部類申明爲友元
         friend class show;
 private:
       int m_a;   
};

函數Print 和類show只是類FriendClassTest的友元而非成員; 友元的位置一般是比較自由的,不受public,private限制,一般放在大括號中最前面

友元的權利

       可以無限制的訪問該類的所有成員。友元都關係是單向的。

友元的作用

      友元一般比較少用,它破壞了類的封閉性;有一種場景是會用到類的友元的;

      假如有個類的成員, 只想讓指定的非繼承類或全區函數訪問,而不想讓其他類訪問,則可以把該類的成員定義爲私有成員,然後把允許訪問該私有成員的變量定義爲該類的友元。當然也可以是多個類,封裝在一個模塊中,類之間互相定義爲友元,相互操作成員。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章