定义一个复数类Complex,重载运算符“-”,使之能用于复数的减法运算。将运算符函数重载为非成员、非友元的普通函数。编写程序,求两个复数之差
时间: 2024-05-08 21:21:52 浏览: 91
下面是Complex类的定义与运算符函数重载的实现:
```cpp
#include <iostream>
class Complex {
public:
Complex(double real = 0.0, double imag = 0.0) : real_(real), imag_(imag) {}
double real() const { return real_; }
double imag() const { return imag_; }
private:
double real_;
double imag_;
};
// 重载运算符“-”
Complex operator-(const Complex& lhs, const Complex& rhs) {
return Complex(lhs.real() - rhs.real(), lhs.imag() - rhs.imag());
}
int main() {
Complex a(1.0, 2.0);
Complex b(3.0, 4.0);
Complex c = a - b;
std::cout << c.real() << " + " << c.imag() << "i" << std::endl;
return 0;
}
```
输出结果为:
```
-2 + -2i
```
可以看到,运算符“-”被重载为非成员、非友元的普通函数,可以被用于复数的减法运算。通过重载运算符“-”,我们可以方便地计算两个复数之差。
阅读全文