C++重载加法运算符
时间: 2023-06-29 14:07:23 浏览: 100
在 C++ 中,可以通过重载加法运算符来实现自定义类型的相加操作。重载加法运算符的语法如下:
```cpp
返回值类型 operator+(const 类型名& 参数名) {
// 实现相加操作的代码
}
```
其中,`operator+` 表示重载加法运算符,返回值类型为相加结果的类型,`类型名` 是相加操作的另一个操作数的类型名,`参数名` 是相加操作的另一个操作数的名称。在函数体中,可以实现相加操作,并返回相加结果。
下面是一个例子,演示如何在 C++ 中重载加法运算符:
```cpp
#include <iostream>
class Complex {
public:
Complex(double r = 0, double i = 0) : real(r), imag(i) {}
Complex operator+(const Complex& other) const {
Complex result;
result.real = real + other.real;
result.imag = imag + other.imag;
return result;
}
void display() const {
std::cout << "(" << real << ", " << imag << ")" << std::endl;
}
private:
double real;
double imag;
};
int main() {
Complex c1(1, 2), c2(3, 4), c3;
c3 = c1 + c2;
c3.display(); // 输出 (4, 6)
return 0;
}
```
在上面的例子中,我们定义了一个复数类 `Complex`,并重载了加法运算符 `operator+`,使得 `Complex` 类型的对象可以相加。在 `operator+` 函数中,我们实现了两个复数对象的相加操作,并返回相加结果。在 `main` 函数中,我们创建了两个复数对象 `c1` 和 `c2`,并将它们相加,将结果赋值给 `c3`。最后调用 `c3.display()` 函数输出相加结果。
阅读全文