在c++中,怎么在类外定以类的函数
时间: 2024-09-29 08:10:27 浏览: 28
在 C++ 中,如果你想要在类的外部定义与某个类相关的函数,通常可以创建一个非成员函数。这种函数并不属于类本身,而是作为类的友元(Friend Function)或者是提供给类的一个公共方法(Public Member Function)。以下是两种常见的方式:
1. 友元函数 (Friend Function):
- 定义 friend 关键字紧跟在函数声明之前,并指定该函数为特定类的朋友。
```cpp
class MyClass {
//...
};
friend void myFunction(MyClass& obj); // 让 myFunction 成为 MyClass 的朋友
```
然后在类体之外定义 friend 函数:
```cpp
void myFunction(MyClass& obj) {
// 可访问 MyClass 的私有和保护成员
obj.myPrivateMethod();
}
```
2. 公共方法 (Public Member Function):
如果你想让函数直接操作类的对象,你可以将它作为公有成员函数,这样任何人都可以在类的对象上调用这个函数。
```cpp
class MyClass {
public:
void myPublicMethod() {
// 函数体...
}
};
// 在类外像普通函数一样调用
MyClass obj;
obj.myPublicMethod();
```
注意,友元函数虽然提供了访问权限,但也需要谨慎使用,因为它可能会打破封装原则。
阅读全文