在C++中,友元函數可以直接調用,不需要通過對象或類的實例來調用。友元函數可以在類的內部聲明和定義,它可以訪問類的私有成員和保護成員。
以下是一個示例代碼,展示了如何使用友元函數調用類的私有成員:
#include<iostream>
using namespace std;
class MyClass {
private:
int privateVar;
public:
MyClass(int value) {
privateVar = value;
}
friend void displayPrivateVar(MyClass obj); // 聲明友元函數
};
// 定義友元函數
void displayPrivateVar(MyClass obj) {
cout << "Private variable value is: " << obj.privateVar << endl;
}
int main() {
MyClass obj(10);
displayPrivateVar(obj); // 調用友元函數
return 0;
}
在上述代碼中,displayPrivateVar
函數是 MyClass
類的友元函數。它可以直接訪問 privateVar
私有成員變量,并將其打印到控制臺。在 main
函數中,我們創建了一個 MyClass
對象 obj
,然后使用 displayPrivateVar
函數來訪問并顯示 obj
的私有成員變量。
輸出結果為:
Private variable value is: 10