C++的友元函数代码示例
时间: 2023-11-14 17:56:47 浏览: 84
以下是一个示例代码,演示如何在C++中定义和使用友元函数:
```cpp
#include <iostream>
class MyClass {
private:
int num;
public:
MyClass(int n) : num(n) {}
friend void friendFunc(MyClass obj); // 声明友元函数
};
// 定义友元函数
void friendFunc(MyClass obj) {
std::cout << "友元函数访问私有成员 num:" << obj.num << std::endl;
}
int main() {
MyClass obj(42);
friendFunc(obj); // 调用友元函数
return 0;
}
```
在这个示例中,我们创建了一个名为`MyClass`的类,它有一个私有成员变量`num`。我们希望能够在类外部访问这个私有成员变量,因此我们声明了一个友元函数`friendFunc`。
在`MyClass`类中,我们使用`friend`关键字声明了`friendFunc`函数为`MyClass`的友元函数。这意味着`friendFunc`可以访问`MyClass`的私有成员。
在`main`函数中,我们创建了一个`MyClass`对象`obj`,然后调用了友元函数`friendFunc(obj)`。友元函数可以直接访问`obj`的私有成员变量`num`并打印出来。
输出结果将是:
```
友元函数访问私有成员 num:42
```
请注意,友元函数不是类的成员函数,但它可以访问类的私有成员。
阅读全文