#include #include using namespace std; // Класс комплексное число: конструктор, ввод (»), вывод («), ==, !=, модуль x, +, -, *. class complex { private: double REAL, IMAG; public: complex(double real = 0, double imag = 0) { REAL = real; IMAG = imag; } void SetReal(double real) { REAL = real; } void SetImag(double imag) { IMAG = imag; } double GetReal(complex& a) { return a.REAL; } double GetIMAG(complex& a) { return a.IMAG; } double abs() { return sqrt(REAL*REAL + IMAG*IMAG); } complex operator+(complex &a) { return complex(REAL + a.REAL, IMAG + a.IMAG); } complex operator-(complex& a) { return complex(REAL - a.REAL, IMAG - a.IMAG); } complex operator*(complex& a) { return complex(REAL*a.REAL + IMAG*a.IMAG, REAL*a.IMAG + IMAG*a.REAL); } int operator==(complex& a) { if (REAL == a.REAL && IMAG == a.IMAG) return 1; else return 0; } int operator!=(complex& a) { if (REAL == a.REAL && IMAG == a.IMAG) return 0; else return 1; } friend ostream& operator<< (ostream& r, complex &a) { r << "Your number is: " << a.REAL << " "; if (a.REAL > 0) r << "+" << a.IMAG << "i" << endl; else r << a.IMAG << "i" << endl; return r; } friend istream& operator>> (istream& r, complex& a) { r >> a.REAL; r >> a.IMAG; return r; } }; int main() { complex obj1(2, 2), obj2(3, 3); complex obj3; obj3 = obj1 - obj2; cout << obj3 << endl; }