§2. Производные классы
2.1. Создайте производный класс complexExt от класса complex, который должен
В разделе private содержать с закрытые переменные-члены mod и argument которые означают соответственно модуль и аргумент комплексного числа.
В разделе public содержать
конструктор по умолчанию complexExt(), который придает переменным mod и argument значение равное 0;
функции
double mod();
double argument();
которые возвращают соответственно модуль и аргумент комплексного числа;
параметризованный конструктор complexExt(complex a), который с помощью функций-членов mod() и argument() преобразует объект типа complex в объект типа complexExt;
перегружаемую функцию базового класса
void print();
которая выводит комплексное число на экран в тригонометрической форме записи
mod(cos(argument)+i*sin(argument));
функцию-друга, которая перегружает оператор << для реализации вывода комплексных чисел, записанных в тригонометрической форме, на экран.
1.2. Пользуясь классом complexExt, напишите программу, которая должна
описывать переменные
complex u,v;
complexExt z;
получать действительную и мнимую части переменных u и v;
выводить на экран комплексные числа u и v в алгебраической и тригонометрической формах записи;
пользуясь конструктором complexExt(complex a) инициализировать переменную z и вывести ее на экран двумя способами: с помощью перегруженной функции print()и с помощью перегруженного оператора вывода <<;
выводить на экран комплексные числа z=u+2*v+1, z+5.2 (происходит ли автоматическое преобразование типа double в тип complexExt ?);
проверять результаты присваиваний z=u и v=z (о чем они говорят?).
§3. Строки
Программы 3.1–3.4 необходимо написать, используя функции get() и put().
Написать программу, которая копирует все комментарии из файла file.cpp в файл file1.txt, а оставшийся текст – в файл file2.txt.
Написать программу, которая с помощью функции getline() считывает строки текстового файла palindrome.txt и проверяет, является ли записанное в каждой строке выражение палиндромом.
Пользуясь функциями класса string, написать программу, которая из строки “abcdefghijklmnopqrstuvwxyz^” генерирует следующую таблицу
Пользуясь реверсивным итератором и функцией getline(), напишите программу, считывающую строки из файла и выводящую их в обратном порядке.
§4. Перегрузка функций
В стандартной библиотеке С++ есть три функции abs(), labs() и fabs(), которые позволяют находить абсолютные значения переменных типа int, long и double соответственно. Необходимо написать программу, в которой функция mod(x) нахождения модуля числа перегружается 3 раза и, благодаря этому позволяет находить значения любой из функций abs(), labs() и fabs().
Функция обмена местами для переменных типа int, double, float, int*…
Сумма элементов массива (для строк - объединение)
какая-нибудь функция с различным количеством параметров. Например, функция замены элементов первого массива на соответствующие элементы второго (если размерность r первого массива не превосходит размерности k второго, то все элементы заменяются; если превосходит, то заменяются только k элементов первого массива); замена на соответствующие элементы начиная с номера m; замена на соответствующие элементы начиная с номера m и заканчивая номером n; замена соответствующих элементов не с начала, а после какого-то индекса.
