8 Complex(double r = 0, double i = 0) : rpart(r), ipart(i) { }
9 Complex(const Complex &c) : rpart(c.rpart), ipart(c.ipart) { }
10 Complex &operator=(const Complex &c) {
15 Complex operator+(const Complex &c) const {
16 return Complex(rpart+c.rpart, ipart+c.ipart);
18 Complex operator-(const Complex &c) const {
19 return Complex(rpart-c.rpart, ipart-c.ipart);
21 Complex operator*(const Complex &c) const {
22 return Complex(rpart*c.rpart - ipart*c.ipart,
23 rpart*c.ipart + c.rpart*ipart);
25 Complex operator-() const {
26 return Complex(-rpart, -ipart);
29 double re() const { return rpart; }
30 double im() const { return ipart; }