C++の基礎 - フレンド

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
2022年12月4日 (日) 16:37時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == <code>private</code>メンバは、そのメンバを持つクラスからのみアクセスできるが、例外的に、特定の相手にのみ<code>private</code>メンバへのアクセスを許可するフレンドがある。<br> フレンドは、特定の関数からのアクセスを許可するフレンド関数、および、特定のクラスからのアクセスを許可するフレンドクラスの2つが存在する。<br> <br> フレ…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要

privateメンバは、そのメンバを持つクラスからのみアクセスできるが、例外的に、特定の相手にのみprivateメンバへのアクセスを許可するフレンドがある。
フレンドは、特定の関数からのアクセスを許可するフレンド関数、および、特定のクラスからのアクセスを許可するフレンドクラスの2つが存在する。

フレンドについては賛否両論あり、使用すべきではないという意見もある。
実際に、privateメンバへアクセスできる経路を作るため、使いどころには注意が必要となる。

しかし、フレンドは相手を明確に限定しているため、特定の相手のためだけにprivateメンバをpublicメンバに変更するよりも良い方法だと言える。
フレンドを使用するかどうかを決定する前に、そのクラスのメンバにできないかどうかを考えるべきである。