定义一个复数类Complex,重载运算符加号和减号,使之能用于复数的加减法运算,将运算符函数重载为成员函数,编写一个c++程序,任意输入两个复数,输出它们的和和差
时间: 2025-06-15 13:18:02 浏览: 22
在 C++ 中,我们可以定义一个名为 `Complex` 的类来表示复数,并重载加号 (`+`) 和减号 (`-`) 运算符以便支持复数的加减法。这是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
class Complex {
private:
double real;
double imag;
public:
// 构造函数
Complex(double r = 0, double i = 0) : real(r), imag(i) {}
// 按位相加和相减
Complex operator+(const Complex& other) const {
return Complex(real + other.real, imag + other.imag);
}
Complex operator-(const Complex& other) const {
return Complex(real - other.real, imag - other.imag);
}
// 重载 << 操作符用于打印复数
friend ostream& operator<<(ostream& os, const Complex& c) {
os << c.real << "(" << c.imag << "i)";
return os;
}
};
int main() {
Complex num1(3, 4); // 复数 3 + 4i
Complex num2(1, 2); // 复数 1 + 2i
cout << "第一个复数: " << num1 << endl;
cout << "第二个复数: " << num2 << endl;
Complex sum = num1 + num2; // 加法
cout << "它们的和: " << sum << endl;
Complex diff = num1 - num2; // 减法
cout << "它们的差: " << diff << endl;
return 0;
}
```
在这个程序中,我们首先定义了一个 `Complex` 类,包含实部和虚部属性,以及构造函数。然后我们重载了 `+` 和 `-` 运算符,使得当我们对两个 `Complex` 对象进行这些操作时,会自动调用我们自定义的函数。最后,在 `main` 函数中创建了两个复数实例并进行了加减运算。
运行这个程序,你会看到相应的加法和减法结果。
阅读全文
相关推荐















