Friend 함수를 사용하면 비멤버 함수가 비공개 멤버에 액세스하고 다중 상속에서 역할을 수행할 수 있으므로 파생 클래스 함수가 기본 클래스의 비공개 멤버에 액세스할 수 있습니다.
C++ 친구 함수에 대한 자세한 설명: 다중 상속에서 친구 함수의 역할
친구 함수 소개
친구 함수는 비공개 멤버에 대한 액세스 권한이 부여되는 특수 함수이며, 아니요 이 클래스의 객체가 필요합니다. 비회원 함수가 개인 데이터에 액세스할 수 있도록 허용하는 데 자주 사용됩니다.
구문:
class ClassName { ... // 类成员 friend FunctionName; };
다중 상속에서 친구 함수의 역할
다중 상속에서 파생 클래스는 여러 기본 클래스의 데이터 멤버와 메서드를 상속할 수 있습니다. 파생 클래스의 함수가 기본 클래스의 전용 멤버에 액세스해야 하는 경우 해당 함수를 친구 함수로 선언할 수 있습니다.
실용 사례
Base
클래스와 Base
에서 상속되는 파생 클래스 Derived
가 있다고 가정합니다. Base
类和一个从 Base
继承的派生类 Derived
:
class Base { private: int data; }; class Derived : public Base { public: void printData() { std::cout << data << std::endl; } friend void printData2(Derived& obj); };
由于 data
是 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); }
Base
의 전용 멤버이며 Derived
의 printData()
함수로 직접 액세스할 수 없습니다. 따라서 printData2()
함수를 Derived
의 친구 함수로 선언합니다. 0 0
printData2()
는 에 액세스할 수 있습니다. 파생
의 비공개 데이터
멤버입니다. 사용법:
🎜rrreee🎜출력: 🎜rrreee위 내용은 C++ 친구 함수에 대한 자세한 설명: 다중 상속에서 친구 함수의 역할은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!