在C++中,友元函數(shù)(friend function)可以訪問(wèn)類的私有成員。為了實(shí)現(xiàn)這一點(diǎn),您需要將友元函數(shù)聲明為類的友元,然后在類內(nèi)部定義該函數(shù)。這里有一個(gè)簡(jiǎn)單的示例:
#include <iostream>
using namespace std;
class MyClass {
private:
int privateMember;
public:
MyClass(int value) : privateMember(value) {}
// 聲明友元函數(shù)
friend void accessPrivateMember(MyClass &obj);
};
// 定義友元函數(shù)
void accessPrivateMember(MyClass &obj) {
cout << "Private member value: " << obj.privateMember << endl;
}
int main() {
MyClass myObj(10);
// 通過(guò)友元函數(shù)訪問(wèn)私有成員
accessPrivateMember(myObj);
return 0;
}
在這個(gè)示例中,我們定義了一個(gè)名為MyClass
的類,其中包含一個(gè)私有成員變量privateMember
。然后,我們聲明了一個(gè)名為accessPrivateMember
的友元函數(shù),它可以訪問(wèn)MyClass
的私有成員。在main
函數(shù)中,我們創(chuàng)建了一個(gè)MyClass
對(duì)象,并通過(guò)調(diào)用accessPrivateMember
函數(shù)來(lái)訪問(wèn)其私有成員。