编写一个程序,用成员函数重载运算符"+",使之能用于两个复数相减
时间: 2024-02-29 14:51:06 浏览: 71
好的,我可以为你编写这个程序。以下是示例代码:
```c++
#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& c) const {
return Complex(real + c.real, imag + c.imag);
}
// 重载运算符 -
Complex operator-(const Complex& c) const {
return Complex(real - c.real, imag - c.imag);
}
// 打印函数
void print() const {
cout << real << " + " << imag << "i" << endl;
}
};
int main() {
Complex c1(2, 3);
Complex c2(1, 2);
Complex c3 = c1 - c2;
c3.print();
return 0;
}
```
在这个程序中,我们定义了一个名为`Complex`的类,它具有两个私有成员变量`real`和`imag`,分别表示复数的实部和虚部。我们通过构造函数初始化这两个变量,并提供了重载运算符"+"和"-",使得我们可以对两个复数进行加法和减法运算。在`main`函数中,我们创建了两个复数`c1`和`c2`,并用它们的差来初始化`c3`,然后打印出来以验证程序的正确性。
请注意,我们在重载运算符"+"和"-"时,都使用了`const`关键字来表示这两个函数不会对它们的参数进行修改。这是一个好的习惯,因为这可以避免不必要的错误和副作用。
阅读全文