c++友元函数
时间: 2023-08-03 14:10:23 浏览: 399
C++中的友元函数是指可以访问类的私有成员的非成员函数。在一个类中,如果声明了某个函数为友元函数,那么这个函数就可以访问这个类的私有成员。
友元函数的语法如下:
```c++
class MyClass {
friend void myFriendFunction();
};
```
在这个例子中,`myFriendFunction()`是MyClass类的友元函数,它可以访问MyClass类的私有成员。
需要注意的是,友元函数并不属于类的成员函数,因此不能使用类的成员访问符号(`.`或`->`)来调用友元函数。友元函数可以直接使用函数名和参数列表调用。
下面是一个示例程序:
```c++
#include <iostream>
using namespace std;
class MyClass {
private:
int x;
public:
MyClass(int x) {
this->x = x;
}
friend void myFriendFunction(MyClass obj);
};
void myFriendFunction(MyClass obj) {
cout << "x = " << obj.x << endl;
}
int main() {
MyClass obj(10);
myFriendFunction(obj);
return 0;
}
```
在这个程序中,我们定义了一个名为`MyClass`的类,其中有一个私有成员变量`x`,以及一个名为`myFriendFunction()`的友元函数。在`main()`函数中,我们创建了一个`MyClass`对象,并调用了`myFriendFunction()`函数,从而输出了这个对象的私有成员变量`x`。
阅读全文