#ifndef __COMPLEX_HPP__ #define __COMPLEX_HPP__ 1 #include using namespace std; class Complex { public: explicit Complex(double x = 0, double y = 0); double get_real() const; double get_imag() const; void set_real(const double &x); void set_imag(const double &y); Complex operator+(const Complex &q) const; Complex operator-(const Complex &q) const; Complex operator*(const Complex &q) const; bool operator==(const Complex &q) const; bool operator!=(const Complex &q) const; operator int() const; private: void write(ostream &ostr) const; void read(istream &istr); double _real, _imag; friend ostream& operator<<(ostream &ostr, const Complex &p); friend istream& operator>>(istream &istr, Complex &p); }; ostream& operator<<(ostream &ostr, const Complex &p); istream& operator>>(istream &istr, Complex &p); #endif