Friend 함수는 클래스의 비공개 및 보호 데이터 멤버에 액세스할 수 있지만 전역 함수는 액세스할 수 없습니다. Friend 함수는 클래스 선언에서 선언되고 전역 함수는 friend 키워드를 사용하여 친구 함수를 선언하고 extern을 사용합니다. 전역 함수를 선언하는 키워드입니다. Friend 함수는 선언을 통해 클래스 멤버 변수에 액세스할 수 있는 권한을 얻습니다. 예를 들어 friend 함수 getPrivateData를 선언하면 MyClass 클래스의 전용 변수 x에 액세스할 수 있습니다.
C++ 프렌드 함수에 대한 자세한 설명
프렌드 함수와 전역 함수의 차이점
C++에서 프렌드 함수는 클래스 멤버 함수에 선언되어 보호되는 프라이빗 함수에 접근할 수 있는 특수 함수입니다. 데이터 멤버. 이와 대조적으로 전역 함수는 클래스 외부에서 선언되며 비공개 및 보호된 데이터 멤버에 액세스할 수 없습니다.
friend 함수 구문
friend 함수 구문은 다음과 같습니다.
friend 返回类型 函数名(参数列表);
예를 들어 MyClass
의 비공개 데이터 멤버에 액세스할 수 있는 friend 함수를 선언합니다. MyClass
中私有数据成员的友元函数:
friend int getPrivateData(MyClass& object);
友元函数和全局函数的区别
友元函数和全局函数的主要区别如下:
friend
关键字声明,而全局函数使用 extern
关键字声明。实战案例
考虑一个包含私有成员变量 x
的 MyClass
类:
class MyClass { private: int x; public: int getX(); void setX(int value); };
要访问 MyClass
的私有数据成员 x
,我们可以声明一个友元函数:
friend int getPrivateData(MyClass& object) { return object.x; }
使用友元函数
我们可以使用友元函数来访问 MyClass
int main() { MyClass object; object.setX(10); int privateData = getPrivateData(object); cout << "Private data: " << privateData << endl; return 0; }
Friend 함수와 전역 함수의 차이점
🎜🎜friend 함수와 전역 함수의 주요 차이점은 다음과 같습니다. 🎜friend
키워드를 사용하여 선언하고, 전역 함수는 extern
키워드를 사용하여 선언합니다. x
가 포함된 MyClass
클래스를 생각해 보세요. 🎜Private data: 10🎜
MyClass의 비공개 데이터 멤버 <code>x
, 친구 함수를 선언할 수 있습니다: 🎜rrreee🎜🎜친구 함수 사용🎜🎜🎜친구 함수를 사용하여 MyClass
'에 액세스할 수 있습니다. s 개인 데이터 멤버: 🎜rrreee🎜이 코드를 실행하면 다음이 출력됩니다: 🎜rrreee위 내용은 C++ 친구 함수에 대한 자세한 설명: 친구 함수와 전역 함수의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!