- •Пользовательские типы
- •Вариант 1***
- •Вариант 2***
- •Вариант 3***
- •Вариант 4***
- •Вариант 5**
- •Вариант 6**
- •Вариант 7**
- •Вариант 8**
- •Вариант 9**
- •Вариант 10**
- •Вариант 11**
- •Вариант 12**
- •Вариант 13**
- •Вариант 20**
- •Вариант 21**
- •Вариант 14*
- •Вариант 15*
- •Вариант 16*
- •Вариант 17*
- •Вариант 18*
- •Вариант 19*
-
Вариант 16*
Разработайте пользовательский тип «очередь целых чисел». Для внутренней реализации воспользуйтесь динамическим массивом. Емкость очереди должна задаваться при создании экземпляра класса, и не должна изменяться после этого. Для разрабатываемого типа обязательно определите:
-
конструктор и деструктор;
-
конструктор копирования;
-
оператор присваивания;
-
операторы << и >> для добавления и извлечения элементов из очереди;
-
метод “очередь пуста?”;
-
метод, выводящий содержимое очереди в указанный поток.
-
Вариант 17*
Разработайте пользовательский тип «Время». Под «временем», в данном случае, подразумевается тройка <часы, минуты, секунды>, где часы – произвольное неотрицательное целое число, а минуты и секунды – целые числа в интервале [0..59]. Для разрабатываемого типа обязательно определите:
-
конструктор (или несколько, если необходимо)
-
набор методов “get” и “set” для часов, минут и секунд;
-
операторы + и – для значений типа «Время» (и с результатом типа «Время»);
-
оператор * на целое;
-
оператор / на целое;
-
операторы >> и << для ввода и вывода в поток.
-
Вариант 18*
Разработайте пользовательский тип «Угол». Под «углом», в данном случае, подразумевается тройка <градусы, минуты, секунды>, где градусы – неотрицательное целое число в интервале [0..359], а минуты и секунды – целые числа в интервале [0..59]. Для разрабатываемого типа обязательно определите:
-
конструктор (или несколько, если необходимо);
-
набор методов “get” и “set” для градусов, минут и секунд;
-
операторы + и – для значений типа «Угол» (и с результатом типа «Угол»);
-
оператор * на целое;
-
оператор / на целое;
-
операторы >> и << для ввода и вывода в поток.
-
Вариант 19*
Разработайте пользовательский тип “Трехмерный вектор”. Для разрабатываемого типа обязательно определите:
-
конструктор (или несколько, если необходимо)
-
операторы + и – для сложения и вычитания векторов с получением нового вектора (суммы или разности);
-
оператора * для вычисления скалярного произведения двух векторов;
-
метод для вычисления длины вектора;
-
метод для вычисления косинуса угла между векторами.