Отменено
21.03.2021, 07:55
22.03.2021, 11:32
Реализовать класс Complex для работы с 
комплексными числами 
на основе  double.
Реализовать класс Complex .
public и protected методы классов фиксированы, кроме спецификаторов. 
Т.е. нельзя менять названия методов, а также типы и количество аргументов.
НО в этих методах отсутствуют спецификаторы const и static, которые были удалены намеренно. Их необходимо вернуть на место.
private поля и private методы можно добавлять в класс Complex. 
//Complex.hpp
class Complex {
public:
  Complex();
  Complex(double re, double im = 0);
  Complex(const Complex& val);
  void Re(double re);
  void Im(double im);
  double Re();
  double Im();
  double Abs();
  double Arg();
  static Complex Polar(double modulus, double argument = 0);
  Complex& operator=(double re);
  Complex& operator+=(double re);
  Complex& operator-=(double re);
  Complex& operator*=(double re);
  Complex& operator/=(double re);
  Complex& operator= (const Complex& val);
  Complex& operator+=(const Complex& val);
  Complex& operator-=(const Complex& val);
  Complex& operator*=(const Complex& val);
  Complex& operator/=(const Complex& val); 
  bool operator==(const Complex& right);
  bool operator!=(const Complex& right);
  Complex operator+(const Complex &right);
  Complex operator-(const Complex &right);
  Complex operator*(const Complex &right);
  Complex operator/(const Complex &right);
  Complex sqrt();
  Complex pow(int pow);
protected:
  double _re;
  double _im;
private:
};
Complex() -- Конструктор по умолчаниюComplex(double re, double im = 0) -- Конструктор определяющий Complex с помощью задания вещественной и мнимой частей.Complex(const Complex& val) -- Копирующий конструктор.void Re(double re) -- Задание вещественной части Complexvoid Im(double im) -- Задание мнимой части Complexdouble Re() -- Возвращает вещественную часть Complexdouble Im() -- Возвращает мнимую часть Complexdouble Abs() -- Возвращает модуль Комплексного числаdouble Arg() -- Возвращает аргумент Комплексного числаstatic Complex Polar(double modulus, double argument = 0) -- Конструирует комплексное число, которое соответствует указанному модулю и аргументуdoubleComplex& operator= (double re) -- Оператор присваивания, аналог конструктора из вещественного числа. Complex& operator+=(double re) -- Оператор +=, прибавить...Complex& operator-=(double re) -- Оператор -=, отнять...Complex& operator*=(double re) -- Оператор *=, умножить на...Complex& operator/=(double re) -- Оператор /=, поделить на...ComplexComplex& operator= (const Complex& val) -- Оператор присваивания, аналог конструктора копирующего конструктора. Complex& operator+=(const Complex& val) -- Оператор +=, прибавить...Complex& operator-=(const Complex& val) -- Оператор -=, отнять...Complex& operator*=(const Complex& val) -- Оператор *=, умножить на...Complex& operator/=(const Complex& val) -- Оператор /=, поделить на... bool operator==(const Complex& right) -- Оператор ==, возвращает true если аргумент равен исходному числуbool operator!=(const Complex& right) -- Оператор !=, возвращает true если аргумент не равен исходному числуComplex operator+(const Complex& right) -- Оператор сложения комплексных чиселComplex operator-(const Complex& right) -- Оператор вычитания комплексных чиселComplex operator*(const Complex& right) -- Оператор умножения комплексных чиселComplex operator/(const Complex& right) -- Оператор деления комплексных чиселComplex sqrt(const Complex &val) -- функция возвращает квадратный корень из комплексного числаComplex pow(const Complex &val, int pow) -- Возведении комплексного числа в целую степень