首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C++ 學習筆記(六):友元函數與友元類詳解

     編輯:關於C++

友元:打破封裝的受控通道

類的私有成員默認不可外部訪問。友元機制允許特定非成員函數或另一類訪問私有/保護成員,提升效率但削弱封裝性,需謹慎使用。

1. 友元函數

  • 定義在類外的普通函數,不屬於任何類。
  • 在類內聲明:friend 返回類型 函數名(參數列表);
  • 聲明位置無關緊要(public/private/protected 效果相同)。
  • 一個函數可為多個類的友元,需在各類中分別聲明。
  • 調用方式與普通函數無異。

2. 友元類

  • 聲明:friend class 類名;
  • 效果:友元類的所有成員函數均成為原類的友元函數,可訪問私有/保護成員。
  • 示例:class A { friend class B; }; → B 的所有成員可訪問 A 的私有成員。

友元關係特性

  • 無對稱性:B 是 A 的友元類 ⇏ A 是 B 的友元類。
  • 無傳遞性:B 是 A 友元,C 是 B 友元 ⇏ C 是 A 友元。

相關文章


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