c++什么是友元函数
时间: 2024-02-26 22:50:18 浏览: 106
在C++中,友元函数是一种特殊的函数,它可以访问类的私有成员和保护成员。友元函数可以在类的内部或外部进行声明和定义,但它不是类的成员函数。
友元函数的声明通常放在类的定义中,并在类的外部进行定义。通过将函数声明为友元函数,该函数就可以直接访问类的私有成员和保护成员,而无需通过对象或类的接口来访问。
友元函数的声明方式有两种:
1. 在类的内部声明友元函数:在类的定义中使用关键字`friend`来声明友元函数。
2. 在类的外部声明友元函数:在类的定义中使用普通函数的声明方式,并在类外部进行定义时使用关键字`friend`。
下面是一个示例代码,展示了如何使用友元函数:
```cpp
class MyClass {
private:
int privateData;
public:
MyClass(int data) : privateData(data) {}
friend void friendFunction(MyClass obj);
};
void friendFunction(MyClass obj) {
// 友元函数可以直接访问类的私有成员
cout << "Private data: " << obj.privateData << endl;
}
int main() {
MyClass obj(10);
friendFunction(obj);
return 0;
}
```
在上面的示例中,`friendFunction`被声明为`MyClass`的友元函数。因此,它可以直接访问`MyClass`的私有成员`privateData`。
阅读全文