diff --git a/cnumber.cpp b/cnumber.cpp index 86a78b9..868dfdf 100644 --- a/cnumber.cpp +++ b/cnumber.cpp @@ -3,8 +3,9 @@ int main() { - cnumber a(-1, 4); - cnumber b(4, -7); + cnumber a(1, -3); + cnumber b(2, 5); cout << "a = " << a << " b = " << b << " a + b = " << a + b << endl; + cout << "a = " << a << " b = " << b << " a * b = " << a * b << endl; } diff --git a/cnumber.hpp b/cnumber.hpp index 90b2c54..d2ed41c 100644 --- a/cnumber.hpp +++ b/cnumber.hpp @@ -18,10 +18,14 @@ class cnumber { signi = get_sign(i); } - cnumber operator+(const cnumber& that) { + cnumber operator+(const cnumber &that) { cnumber z(that.r + this->r, that.i + this->i); return z; } + cnumber operator*(const cnumber &that) { + cnumber z( (that.r * this->r ) - (that.i * this->i) , (that.r * this->i) + (this->r * that.i) ); + return z; + } friend ostream &operator<<( ostream &os, const cnumber &z ) { os << z.r << (z.signi ? '+' : '\0' ) << z.i << 'i';