c++,定义一个复数类Complex,重载运算符“+”为成员函数,使之能用于复数的加法运算。编写程序,求两个复数之和。
时间: 2024-09-25 17:16:05 浏览: 47
好的,以下是一个简单的C++程序,定义了一个复数类Complex,并重载了"+"运算符以实现复数的加法运算。
```cpp
#include <iostream>
using namespace std;
class Complex {
private:
double real;
double imag;
public:
Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {}
// 重载"+"运算符,实现复数的加法运算
Complex operator+(const Complex& rhs) const {
return Complex(real + rhs.real, imag + rhs.imag);
}
// 输出复数的方法
void print() const {
if (imag >= 0) {
cout << real << "+" << imag << "i" << endl;
} else {
cout << real << "-" << (-imag) << "i" << endl;
}
}
};
int main() {
Complex c1(3.0, 4.0); // 创建一个复数对象c1,实部为3,虚部为4
Complex c2(1.0, 2.0); // 创建一个复数对象c2,实部为1,虚部为2
Complex sum = c1 + c2; // 执行复数的加法运算,并将结果赋值给sum对象
sum.print(); // 输出结果
return 0;
}
```
这个程序首先定义了一个Complex类,它有两个私有成员变量real和imag,分别表示复数的实部和虚部。然后,我们重载了"+"运算符,使其可以用于复数的加法运算。在运算符重载的实现中,我们返回一个新的Complex对象,该对象是通过将两个输入对象的实部和虚部相加来创建的。最后,我们在main函数中创建了两个复数对象c1和c2,并使用"+"运算符将它们相加,将结果赋值给sum对象。最后,我们调用print方法输出结果。
阅读全文