操作符的重载
具体代码
#include "complex.h"
Complex::Complex(double a, double b) {
this->a = a;
this->b = b;
}
double Complex::getA() {
return a;
}
double Complex::getB() {
return b;
}
Complex Complex::operator + (const Complex & c){
Complex ret;
ret.a = a + c.a;
ret.b = b + c.b;
return ret;
}
Complex Complex::operator - (const Complex & c) {
Complex ret;
ret.a = a - c.a;
ret.b = b - c.b;
return ret;
}
Complex Complex::operator * (const Complex & c) {
Complex ret;
ret.a = a * c.a - b * c.b;
ret.b = a * c.b + b * c.a;
return ret;
}
Complex Complex::operator / (const Complex & c) {
Complex ret;
ret.a = (a * c.a + b * c.b) / (c.a * c.a + c.b * c.b);
ret.b = (b * c.a - a * c.b) / (c.a * c.a + c.b * c.b);
return ret;
}
bool Complex::operator == (const Complex & c) {
return (a == c.a) && (b == c.b);
}
bool Complex::operator != (const Complex & c) {
return !(*this == c);
}
/*
Complex& Complex::operator = (const Complex & c) {
if (*this != &c) {
a = c.a;
b = c.b;
}
return *this;
}
*/
问题: