c++怎么在类外定义函数
时间: 2024-10-21 08:17:34 浏览: 28
在 C++ 中,在类外部定义函数是很常见的,特别是当需要为类提供通用的操作或者独立于特定类的功能时。这种函数被称为友元函数(Friend Function)。以下是友元函数的定义步骤:
1. **声明**:
- 在类外,通常在类的内部通过 `friend` 关键字声明该函数为类的友元。例如:
```cpp
class MyClass {
// ...
public:
friend void myFriendFunction(MyClass& obj);
//...
};
```
- 如果你想让整个文件成为类的友元,可以在文件开始处直接声明:
```cpp
#include "MyClass.h"
friend void myFriendFunction(MyClass& obj);
```
2. **定义**:
- 友元函数定义应放在类体之外,并且可以访问类的私有成员:
```cpp
extern "C" // 标准库函数可能会破坏名称查找,所以这里添加extern "C"避免名字冲突
void myFriendFunction(MyClass& obj) {
obj.myPrivateMember = ...; // 此处可以访问 MyClass 的私有变量
}
```
阅读全文