Лабораторная работа №22
Разработка алгоритмов и программ по обработке исключительных ситуаций
Цель: Научиться контролировать и обрабатывать возникновение аварийных ситуаций во время работы программы
Оснащение: IBM PC, Borland C++ 5.02
Задание:
Выполните задание тем. контроля №2.
1. Создать шаблон класса для определения двумерных массивов чисел (прямоугольных матриц). Создать конструктор, принимающий размеры массива и случайно инициализирующий элементы массива. Создать методы ввода и вывода массива. Реализовать перегрузку операций сложения и вычитания матриц, дружественную перегрузку операции сложения матрицы с числом, складывающую все члены матрицы с числом:
аналогично реализовать перегрузку операции умножения вектора с числом, операции вычитания и деления перегрузить стандартным способом без использования дружественного механизма. Исключить возможность выполнения операций для матриц разного размера, а так же возможность деления на ноль, используя механизм исключений. Создать программу, демонстрирующую работу всех методов класса.
2. Создать шаблон класса для определения окружностей. Создать конструктор, принимающий координаты центра и радиуса окружности а также единицу измерения (“cm”, “m”, ”km” …). Создать методы ввода и вывода параметров окружности. Реализовать перегрузку операций сравнения (>,<,==) окружностей по радиусу, дружественную перегрузку операций сравнения площади с числом. Исключить возможность выполнения операций сравнения с отрицательными числами возможность создания окружности с отрицательными параметрами. Создать программу, демонстрирующую работу всех методов класса.
3. Создать шаблон класса для определения одномерных массивов чисел (векторов). Создать конструктор, принимающий размер массива и случайно инициализирующий элементы массива. Создать методы ввода и вывода массива. Реализовать перегрузку операций сложения и вычитания векторов, дружественную перегрузку операции сложения вектора с числом, складывающую все члены вектора с числом:
аналогично реализовать перегрузку операции умножения матрицы с числом, операции вычитания и деления перегрузить стандартным способом без использования дружественного механизма. Исключить возможность выполнения операций для матриц разного размера, а так же возможность деления на ноль, используя механизм исключений. Создать программу, демонстрирующую работу всех методов класса.
Обсудить на форуме