c++重载运算符怎么使用
时间: 2023-08-20 08:07:29 浏览: 90
在C++中如何重载运算符
5星 · 资源好评率100%
C++中的运算符重载允许您自定义运算符的行为。您可以为自定义类型定义运算符,使其能够执行特定的操作。
要重载运算符,您需要使用特殊的函数名称和语法。以下是一个示例,演示如何重载加法运算符(+):
```cpp
#include <iostream>
class Complex {
private:
double real;
double imaginary;
public:
Complex(double r = 0.0, double i = 0.0) : real(r), imaginary(i) {}
// 重载加法运算符
Complex operator+(const Complex& other) const {
Complex result;
result.real = real + other.real;
result.imaginary = imaginary + other.imaginary;
return result;
}
// 重载输出运算符
friend std::ostream& operator<<(std::ostream& os, const Complex& c) {
os << "(" << c.real << ", " << c.imaginary << ")";
return os;
}
};
int main() {
Complex c1(2.5, 3.7);
Complex c2(1.2, 4.9);
Complex sum = c1 + c2;
std::cout << "Sum: " << sum << std::endl;
return 0;
}
```
在上面的示例中,我们定义了一个名为`Complex`的自定义类,表示复数。我们重载了加法运算符(`+`),使其能够对两个`Complex`对象执行相加操作。我们还重载了输出运算符(`<<`),以便能够方便地打印`Complex`对象。
在`main`函数中,我们创建了两个`Complex`对象`c1`和`c2`,并将它们相加得到`sum`。然后,我们使用重载的输出运算符将结果打印到控制台。
请注意,不是所有运算符都可以被重载,并且有一些重载运算符的限制和规则需要遵循。有关更多信息,请参阅C++文档中有关运算符重载的章节。
阅读全文