Завершено
0
04.03.2019, 13:05
08.03.2019, 07:26
Реализовать класс 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) -- Возведении комплексного числа в целую степень