C++中operator怎么用
时间: 2024-10-19 07:16:18 浏览: 27
在C++中,`operator`关键字是一个特殊的关键字,用于声明用户自定义的操作符,也就是我们通常所说的运算符重载。通过操作符重载,程序员可以改变基本数据类型的运算规则,使其适用于特定的数据结构或类。操作符重载分为几种情况:
1. **成员函数重载**:当你想要让类的实例支持某种运算时,可以在类中定义一个同名的成员函数,前缀加`.`,比如 `+=` 或 `==`。
```cpp
class MyClass {
public:
int value;
// 这样就重载了加法操作符
friend MyClass& operator+(MyClass &a, MyClass const &b);
};
```
2. **友元函数重载**:当类无法直接访问其内部成员,或者需要外部函数参与运算时,可以用friend关键字声明一个非成员函数作为操作符。
```cpp
class MyClass {
public:
// 禁止类内的+运算
MyClass operator+(MyClass const &other) = delete;
// 使用友元函数实现+
friend MyClass operator+(int a, MyClass const &obj);
};
```
3. **静态成员函数重载**:如果想让一个类的静态成员支持运算,可以使用静态成员函数。
```cpp
class MyClass {
public:
static MyClass operator+(MyClass const &a, MyClass const &b);
};
```
阅读全文