C のフレンド宣言を理解する
C では、フレンド宣言は、外部クラスにクラス メンバーへのアクセスを許可することで、クラス メンバーへのアクセスを制御する方法を提供します。それ以外の場合は保護されている、またはプライベートなデータと機能。
利点と使用法ケース
フレンド宣言は、次の場合に役立ちます。
カプセル化違反の回避
フレンド宣言を使用すると、カプセル化が許可されるだけなので、必ずしもカプセル化が解除されるわけではありません。同じ名前空間内で定義された特定の外部クラスへのアクセス。カプセル化を減らすことができますが、必要に応じてプライベート データの共有を制御できます。
例: オーバーロードされたオペレーターのフレンド アクセス
次のシナリオを考えてみましょう。 「Point」という名前のクラスのカスタム ストリーム挿入および抽出演算子を作成します。これを実現するには、フレンド宣言を使用できます。
class Point { int x, y; friend ostream& operator<<(ostream& out, const Point& point); friend istream& operator>>(istream& in, Point& point); }; ostream& operator<<(ostream& out, const Point& point) { out << "(" << point.x << ", " << point.y << ")"; return out; } istream& operator>>(istream& in, Point& point) { in >> point.x >> point.y; return in; }
このアプローチでは、標準の "<<" を使用して Point オブジェクトを入力および出力できます。そして「>>」
フレンド宣言の使用に関するガイドライン
以上がC のフレンド宣言はどのようにしてクラス メンバーへのアクセスを制御できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。