在C++中,友元函数可以直接调用,不需要通过对象或类的实例来调用。友元函数可以在类的内部声明和定义,它可以访问类的私有成员和保护成员。
以下是一个示例代码,展示了如何使用友元函数调用类的私有成员:
```cpp
#include
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
```