1.1.Создайте класс сomplex, моделирующий комплексные числа и действия над ними в алгебраической форме (см. приложение 1).
· В разделе privateкласс должен содержатьзакрытые переменные-члены Re и Im, которые означают соответственно действительную и мнимую части комплексного числа.
· В разделе public класс должен содержать
o конструкторы
§ по умолчанию complex(), который придает переменным Re и Im значение равное 0;
§ параметризованный конструктор complex(doudle a) для преобразования действительного числа в комплексное (полагает Re = a и Im = 0);
§ параметризованный конструктор complex(doudle a, doudle b), который инициализирует переменные Re и Im;
o функцию-член
void print();
которая выводит комплексное число на экран в алгебраической форме записи a+bi;
o функции-друзей
§ double mod(complex z);
§ double arg(complex z);
§ complex conjugate(complex z);
§ complex inverse(complex z).
o перегруженные операторы
§ унарный – для вычисления комплексного числа противоположного данному;
§ бинарные +, –, * и / для вычисления суммы, разности, произведения и частного комплексных чисел (при делении на 0 программа должна выдавать сообщение об ошибке);
§ логические бинарные операции = =, !=.
§ оператор вывода << для вывода комплексных чисел на экран.
§ (необязательное задание) оператор ввода >> для ввода комплексных чисел в алгебраической форме с клавиатуры.
Требования к программе, содержащей класс complex:
программа должна выдавать сообщения в случаях, когда происходит какое-либо некорректная операция (находится обратное к 0; производится деление на 0; вычисляется аргумент 0);
Интерфейс программы должен находиться в файле complex.h, который должен быть защищен от повторного включения.
Реализация класса complex должна находиться в файле complex.cpp.
1.2. Создайте файл-приложение application1.cpp класса complex, который должен содержать программу, демонстрирующую работу всех его функций и операторов. В частности,
· объявлять и инициализировать всеми возможными способами две комплексные переменные u и v;
· выводить на экран комплексное число u двумя способами: с помощью функции print()и с помощью перегруженного оператора вывода <<;
· вычислять , , , , , , , ;
· вычислять логические значения выражений;
· (необязательное задание) организовывать ввод комплексных чисел в алгебраической форме с клавиатуры.