c++友元函数如何使用
时间: 2023-12-14 17:02:39 浏览: 52
友元类的使用 C++
5星 · 资源好评率100%
在 C++ 中,友元函数是指可以访问一个类的私有成员变量和私有成员函数的非成员函数。友元函数可以被定义为类的成员函数或非成员函数。下面是一个友元函数的示例:
```c++
#include <iostream>
using namespace std;
class MyClass {
private:
int x;
public:
MyClass() {
x = 0;
}
friend void setX(MyClass& obj, int val); // 声明友元函数
void printX() {
cout << "x = " << x << endl;
}
};
void setX(MyClass& obj, int val) { // 定义友元函数
obj.x = val;
}
int main() {
MyClass obj;
obj.printX();
setX(obj, 10); // 调用友元函数
obj.printX();
return 0;
}
```
在上面的示例中,`setX()` 被声明为 `MyClass` 的友元函数,并且可以访问 `MyClass` 的私有成员变量 `x`。在 `main()` 函数中,我们通过调用 `setX(obj, 10)` 来设置 `obj` 的 `x` 值为 10。最后,我们通过调用 `obj.printX()` 来输出 `x` 的值。
需要注意的是,友元函数并不是类的成员函数,因此在定义时需要使用正常的函数定义方式,并在函数名前加上 `friend` 关键字来声明该函数为友元函数。同时,在访问类的私有成员时需要通过对象参数来访问。
阅读全文