Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа № 10 Классы.doc
Скачиваний:
3
Добавлен:
08.12.2018
Размер:
59.9 Кб
Скачать
      1. Вариант 16*

Разработайте пользовательский тип «очередь целых чисел». Для внутренней реализации воспользуйтесь динамическим массивом. Емкость очереди должна задаваться при создании экземпляра класса, и не должна изменяться после этого. Для разрабатываемого типа обязательно определите:

  • конструктор и деструктор;

  • конструктор копирования;

  • оператор присваивания;

  • операторы << и >> для добавления и извлечения элементов из очереди;

  • метод “очередь пуста?”;

  • метод, выводящий содержимое очереди в указанный поток.

      1. Вариант 17*

Разработайте пользовательский тип «Время». Под «временем», в данном случае, подразумевается тройка <часы, минуты, секунды>, где часы – произвольное неотрицательное целое число, а минуты и секунды – целые числа в интервале [0..59]. Для разрабатываемого типа обязательно определите:

  • конструктор (или несколько, если необходимо)

  • набор методов “get” и “set” для часов, минут и секунд;

  • операторы + и – для значений типа «Время» (и с результатом типа «Время»);

  • оператор * на целое;

  • оператор / на целое;

  • операторы >> и << для ввода и вывода в поток.

      1. Вариант 18*

Разработайте пользовательский тип «Угол». Под «углом», в данном случае, подразумевается тройка <градусы, минуты, секунды>, где градусы – неотрицательное целое число в интервале [0..359], а минуты и секунды – целые числа в интервале [0..59]. Для разрабатываемого типа обязательно определите:

  • конструктор (или несколько, если необходимо);

  • набор методов “get” и “set” для градусов, минут и секунд;

  • операторы + и – для значений типа «Угол» (и с результатом типа «Угол»);

  • оператор * на целое;

  • оператор / на целое;

  • операторы >> и << для ввода и вывода в поток.

      1. Вариант 19*

Разработайте пользовательский тип “Трехмерный вектор”. Для разрабатываемого типа обязательно определите:

  • конструктор (или несколько, если необходимо)

  • операторы + и – для сложения и вычитания векторов с получением нового вектора (суммы или разности);

  • оператора * для вычисления скалярного произведения двух векторов;

  • метод для вычисления длины вектора;

  • метод для вычисления косинуса угла между векторами.