Разработка классов. Исключения

Отменен
Заказ
4761495
Раздел
Программирование
Антиплагиат
Не указан
Срок сдачи
25 Мая 2022 в 19:55
Цена
2 500 ₽
Блокировка
10 дней
Размещен
2 Мая 2022 в 17:52
Просмотров
115
Описание работы

Реализуйте класс, моделирующий заданный тип объектов предметной области. Не должно быть возможности создать или перевести объект в некорректное состояние (например, человек с отрицательным возрастом). Хорошо подумайте над интерфейсом вашего класса. Рекомендуемые атрибуты и методы заданы, но вы можете добавить свои, если в этом есть необходимость. Описание класса должно быть разбито на два файла – заголовочный (.h) и реализации (.cpp). Напишите программу, демонстрирующую работу с созданными классами. Необходимо использовать функции и объекты стандартной библиотеки С++, а не С, где это возможно. Например, хранить строки в объекте класса std::string, а не в виде массива символов, использовать std::cin и std::cout для ввода и вывода соответственно. Для хранения наборов однотипных объектов используйте динамические массивы (new []). Не забывайте освобождать более ненужную память (delete []).

Как в конструкторах, так и в остальных методах при возникновении исключительной ситуации (ошибки) должны генерироваться исключения с помощью инструкции throw, которые обязательно должны обрабатываться где-то выше по стеку вызовов. В стандартной библиотеке C++ имеются классы для описания основных типов исключительных ситуаций (https://ru.cppreference.com/w/cpp/error/exception). Бросать std::string в качестве исключений не нужно.

Наследование и стандартные контейнеры нужно будет использовать только в следующей ЛР!

Содержание отчета по лабораторной работе:

1. Титульный лист.

2. Оглавление.

3. Постановка задачи (записать задание и дополнительные условия, которые вы учитываете при разработке программы).

4. Тестовые данные и ожидаемые результаты (привести наборы исходных данных и ожидаемых результатов работы программы).

5. Проектирование свойств класса (обосновать выбор данных-элементов класса и типов данных для них, записать ограничения на диапазон хранимых значений).

6. Разработка конструкторов и деструктора (добавить в класс необходимое количество конструкторов, определить список параметров конструктора и значения параметров по умолчанию, учесть ограничения на диапазон значений полей класса, при необходимости добавить деструктор).

7. Проектирование методов класса. Сформировать список открытых и, если необходимо, закрытых функций-элементов класса. Для каждой из этих функций обосновать список параметров и тип возвращаемого значения, предусмотреть проверку корректности передаваемых значений. Для двух-трех логически сложных методов привести блок-схемы/диаграммы деятельности UML.

8. Проектирование главной функции (main) для тестирования класса (описать сценарий создания и использования объектов класса).

9. Тестирование программы (оценить соответствие полученных результатов и теоретических представлений).

10. Выводы.

11. Приложение. Исходные коды всех разработанных файлов (.cpp и .h).

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.54
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир