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

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

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

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

  • “get” и “set” методы для элементов матрицы;

  • “get” методы для размеров матрицы;

  • операторы сложения и умножения;

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

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

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

      1. Вариант 6**

Разработайте пользовательский тип “множество”, где элементы множества – целые числа из диапазона [0..N-1]. Размер диапазона должен задаваться при создании экземпляра класса. Для разрабатываемого типа обязательно определите:

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

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

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

  • операторы & и | для пары множеств с семантикой «пересечение множеств» и «объединение множеств»;

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

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

  • операторы < и > c семантикой принадлежности одного множества другому;

  • метод для определения принадлежности числа множеству;

  • метод для вывода множества в указанный поток.

      1. Вариант 7**

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

  • конструктор и деструктор (в случае необходимости);

  • конструктор копирования (в случае необходимости);

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

  • операторы & и | для пары множеств с семантикой «пересечение множеств» и «объединение множеств»;

  • оператор присваивания (в случае необходимости);

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

  • операторы < и > c семантикой принадлежности одного множества другому;

  • метод для определения принадлежности символа множеству;

  • метод для вывода множества в указанный поток.

      1. Вариант 8**

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

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

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

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

  • метод “стек пуст?”;

  • метод, возвращающий текущую емкость стека;

  • метод, возвращающий текущее количество элементов в стеке;

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

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

      1. Вариант 9**

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

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

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

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

  • метод “стек пуст?”;

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

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

      1. Вариант 10**

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

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

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

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

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

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

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