C++ 友達関数とは?使い方とメリットをわかりやすく解説

C++において、フレンド関数は非メンバ関数でありながら、クラスのプライベートメンバや保護メンバにアクセスすることができます。フレンド関数はクラス内で宣言され、外部で定義されます。フレンド関数はクラスのプライベートメンバや保護メンバにアクセスできますが、クラスのメンバ関数にはアクセスできません。

友達関数は、通常、オペレータやその他の操作をオーバーロードするために使用され、クラスのプライベートメンバーや保護メンバーにアクセスする目的で使用されますが、クラスのメンバー関数ではありません。友達関数の使用はコードの論理を簡素化し、オペレータのオーバーロードをより柔軟で便利にすることができます。

例えば、以下はC++で友達関数を使用する方法を示す簡単な例です:

#include <iostream>

class Test {
private:
    int x;

public:
    Test(int x) : x(x) {}

    friend void display(Test t);
};

void display(Test t) {
    std::cout << "The value of x is: " << t.x << std::endl;
}

int main() {
    Test t(10);
    display(t);

    return 0;
}

この例では、私たちはTestというクラスを定義し、その中にプライベートメンバーxを含めました。その後、Testクラスのプライベートメンバーxにアクセスできる友達関数であるdisplayを宣言しました。main関数では、Testオブジェクトtを作成し、友達関数displayを呼び出してオブジェクトtのプライベートメンバーxの値を出力します。

友達関数はクラスの設計に柔軟性と拡張性をもたらすが、カプセル化を破壊する可能性があるため、注意して使う必要があります。

bannerAds