用c++定义复数类COMPLEX,并用成员函数为复数类COMPLEX重载加、减及赋值运算符操作。
时间: 2024-03-25 18:38:13 浏览: 49
定义复数类Complex,进行运算符重载
5星 · 资源好评率100%
好的,下面是COMPLEX类的定义和运算符重载实现:
```cpp
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);
}
COMPLEX& operator=(const COMPLEX& c) {
real = c.real;
imag = c.imag;
return *this;
}
};
```
在这里,我们使用了运算符重载来实现COMPLEX类的加、减、赋值运算符。其中,`operator+`和`operator-`重载了加和减运算符,分别返回两个COMPLEX对象的和和差;`operator=`重载了赋值运算符,将一个COMPLEX对象的值赋给另一个COMPLEX对象。
需要注意的是,这里使用了常量引用来传递参数,这可以避免复制对象造成的性能损失。同时,在`operator=`中,我们返回了一个指向当前对象的指针,这可以实现连续赋值操作。
除了上述运算符重载,我们还可以添加其他运算符重载,例如乘、除、相等、不等等运算符重载,根据需要进行实现即可。
阅读全文