friend訪問類型(友元函數)

類的私有成員只能被該類的成員函數和該類的friend函數訪問:類的保護成員只能被該類或者其派生類的成員函數和該類的friend函數訪問。

    ※插曲C++中成員限制符號的作用

   private        限制本類的成員,只能被本類成員自己訪問

   protected   限制本類的成員,只能被本類成員或繼承類成員訪問

   public         開放本類的成員,內部外部都可以用

   friend         向外部函數開放本類私有或保護成員

 

一個friend使用的例子:

class C{

   //......

   friend int f();// friend函數

    //......

};

因爲f函數不是C的成員函數,所以f放在類的public,protected或者是private各個部分都是可以的。

friend函數不是類的成員卻可以訪問類的私有成員或者是保護成員,這個面向對象的設計思想是違背的,這樣可能會造成誤用。我們建議僅僅在重載操作符的時候使用。

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