首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C++ 友元函數是否破壞封裝性及其實際用途

     編輯:程式設計綜合問答

學習 C++ 友元概念後,常覺得友元破壞了面向對象設計的封裝性。事實上,濫用友元確實會破壞封裝,但友元確有其合理用途。

友元的適當應用

  • 在定義資料結構時,例如 LinkedList 類別與 Node 類別是緊密合作的一對,相互存取私有成員是正常需求,使用友元非常適合。
  • 運算子多載(如 cout <<)常需要友元函數來存取私有成員。
  • 當兩個類別需要密切合作,但又不想將成員設為 public 時,友元是一個折衷方案。

關鍵在於適度使用,避免過度破壞類別的封裝性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved