フレンド関数を使用すると、外部関数がクラスのプライベート メンバーまたは保護されたメンバーにアクセスできるようになります。これは、クラス間のコラボレーションに使用され、コードの柔軟性が向上し、実装の詳細がカプセル化されます。欠点は、カプセル化が破壊され、結合が増加し、セキュリティ上の問題があることです。実用的な例: Counter クラスは、フレンド関数 Stats を使用して連携し、その保護された increment() メソッドにアクセスします。
フレンド関数は、外部関数がプライベートまたはスペシャルにアクセスできるようにする関数です。保護されたメンバー向けの関数。これらは、クラスと他のクラスまたは関数間のコラボレーションをサポートするためによく使用されます。
オブジェクトを数えるために使用される単純な Counter
クラスを例に挙げてみましょう:
class Counter { private: int count; protected: void increment() { count++; } };
In order別の A クラス Stats
が Counter
の保護されたメンバー increment()
にアクセスできるようにするには、それを Counter## のフレンド関数として宣言できます。 # クラス:
class Stats { public: void analyze(Counter& counter) { // Friend function can access protected method counter.increment(); } };
int main() { Counter counter; Stats stats; stats.analyze(counter); // 友元函数被调用 return 0; }
以上がフレンド機能を使うメリットとデメリットは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。