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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • оператор + для конкатенации строк;

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

  • оператор [] для доступа к символам строки;

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

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

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

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

  • метод для вычисления значения многочлена для заданного значения переменной;

  • методы “get” для степени многочлена и значений его коэффициентов;

  • операторы +, - и * для многочленов с получением нового объекта-многочлена;

  • оператор << для вывода многочлена в поток.

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

Определите пользовательский тип “треугольная матрица вещественных чисел” для обработки квадратных матриц, в которых все элементы, находящиеся ниже побочной диагонали, имеют нулевые значения.

Класс должен содержать:

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

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

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

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

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

  • оператор << для вывода матрицы в указанный поток;

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

Определите пользовательский тип “симметричная матрица целых чисел” для обработки квадратных матриц, в которых A[i][j] == A[j][i] для всех допустимых все элементы, находящиеся ниже главной диагонали, имеют нулевые значения.

Класс должен содержать:

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

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

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

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

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

  • оператор << для вывода матрицы в указанный поток;

      1. Вариант 14*

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

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

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

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

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

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

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

      1. Вариант 15*

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

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

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

  • метод “push” для добавления числа в стек;

  • метод “pop” для извлечения числа из стека;

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

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

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