フレンド関数を使用すると、非メンバー関数がプライベート メンバーにアクセスし、多重継承で役割を果たすことができ、派生クラス関数が基本クラスのプライベート メンバーにアクセスできるようになります。
#C フレンド関数の詳細な説明: 多重継承におけるフレンド関数の役割
フレンド関数の概要#フレンド関数は、クラスのオブジェクトを必要とせずにプライベート メンバーへのアクセスが許可される特別な関数です。これは、非メンバー関数がプライベート データにアクセスできるようにするためによく使用されます。
構文:class ClassName {
... // 类成员
friend FunctionName;
};
多重継承では、派生クラスのデータ メンバーまた、メソッドは複数の基本クラスから継承できます。派生クラスの関数が基本クラスのプライベート メンバーにアクセスする必要がある場合、その関数をフレンド関数として宣言できます。
実践的なケースBase
クラスと、Base
を継承する派生クラスDerived があるとします。
: <pre class='brush:cpp;toolbar:false;'>class Base {
private:
int data;
};
class Derived : public Base {
public:
void printData() {
std::cout << data << std::endl;
}
friend void printData2(Derived& obj);
};</pre>
は Base
のプライベート メンバーであるため、Derived## の
printData() 関数# 直接アクセスする方法はありません。したがって、
printData2() 関数を
Derived のフレンド関数として宣言します。
void printData2(Derived& obj) { std::cout << obj.data << std::endl; }
これで、
printData2() は ## にアクセスできるようになります。 #Derived のプライベート data
メンバー。 使用法:
int main() { Derived obj; obj.printData(); printData2(obj); }
出力: 0
0
以上がC++ フレンド関数の詳細説明: 多重継承におけるフレンド関数の役割は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。