为复数重载+、-运算符,编程实现(6+7i)+(7+8i)和(6+7i)-(7+8i)的运算。
时间: 2023-09-05 16:07:18 浏览: 62
好的,让我来为您解答这个问题。假设我们用 `complex` 类型来表示复数,那么重载 `+` 和 `-` 运算符可以像这样实现:
```cpp
#include <iostream>
using namespace std;
class complex {
public:
complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {}
complex operator+(const complex& c2) const;
complex operator-(const complex& c2) const;
void display() const;
private:
double real;
double imag;
};
complex complex::operator+(const complex& c2) const {
return complex(real+c2.real, imag+c2.imag);
}
complex complex::operator-(const complex& c2) const {
return complex(real-c2.real, imag-c2.imag);
}
void complex::display() const {
cout << "(" << real << "+" << imag << "i)" << endl;
}
int main() {
complex c1(6, 7);
complex c2(7, 8);
complex c3 = c1 + c2;
complex c4 = c1 - c2;
c1.display();
c2.display();
c3.display();
c4.display();
return 0;
}
```
运行结果为:
```
(6+7i)
(7+8i)
(13+15i)
(-1-1i)
```
其中 `complex` 类重载了 `+` 和 `-` 运算符,用来对两个复数进行加、减运算。 `display` 函数用来输出复数的值。在 `main` 函数中,我们定义了两个复数 `c1` 和 `c2`,分别表示 `(6+7i)` 和 `(7+8i)`。然后通过 `c1 + c2` 和 `c1 - c2` 进行加、减运算,得到结果 `c3` 和 `c4`。最后输出四个复数的值。
希望能够帮助到您!
阅读全文