程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++:關於友元函數的一些問題

C++:關於友元函數的一些問題

編輯:C++入門知識

 

類的友元函數在類范圍之外定義,但是有權訪問類的private成員。一個函數或是整個類都可以聲明為另一個類的友元。

 

要將一個函數聲明為類的友元,就要在類定義中的函數原型前加上friend關鍵字。如果要將類ClassTwo聲明為ClassOne的友元,那就要在ClassOne的定義中做如下聲明:

 

friend class classTwo;

 

需要注意的幾點:

 

1、  盡管類定義中有友元函數的原型,但是友元仍不是成員函數。

 

2、  private、protected、public的成員訪問符號與友元關系的聲明無關,所以友元關系聲明可以放在類定義中的任何地方。

 

3、  不要在友元關系的聲明前面放上任何成員訪問說明符。

 

4、  友元關系是‘給予’的,不是‘索取’的,即要讓B成為A 的友元,那麼A就要顯式聲明B為自己的友元。

 

5、  友元關系不對稱,也不能傳遞。即如果A是B的友元,B是C的友元,那麼並不能說B就是A的友元(不對稱),也不能說A就是C的友元(不傳遞)。

 

 

摘自:http://www.limou.net/?p=412

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved