Реализовать класс 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)
-- Задание вещественной части Complex
void Im(double im)
-- Задание мнимой части Complex
double Re()
-- Возвращает вещественную часть Complex
double Im()
-- Возвращает мнимую часть Complex
double Abs()
-- Возвращает модуль Комплексного числаdouble Arg()
-- Возвращает аргумент Комплексного числаstatic Complex Polar(double modulus, double argument = 0)
-- Конструирует комплексное число, которое соответствует указанному модулю и аргументуdouble
Complex& operator= (double re)
-- Оператор присваивания, аналог конструктора из вещественного числа. Complex& operator+=(double re)
-- Оператор +=
, прибавить...Complex& operator-=(double re)
-- Оператор -=
, отнять...Complex& operator*=(double re)
-- Оператор *=
, умножить на...Complex& operator/=(double re)
-- Оператор /=
, поделить на...Complex
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)
-- Оператор ==
, возвращает 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)
-- Возведении комплексного числа в целую степень