Загрузка данных


ООП(c++)

Задание

Реализуйте класс, моделирующий заданный тип объектов предметной области.

Не должно быть возможности создать или перевести объект в некорректное состояние (например, человек с отрицательным возрастом).

Хорошо подумайте над интерфейсом вашего класса. Необходимые поля и методы заданы, но вы можете добавить свои, если в этом есть необходимость.

Описание класса должно быть разбито на два файла – заголовочный и реализации.

Напишите программу, демонстрирующую работоспособность всех методов.

Необходимо использовать функции и объекты стандартной библиотеки С++, а не С, где это возможно. Например, хранить строки в объекте класса std::string, а не в виде массива символов, использовать std::cin и std::cout для ввода и вывода соответственно.

6. Солдат

Необходимо разработать класс Солдат для симулятора военных действий.

ФИО и номер солдата задаются при создании объекта и далее не изменяются. Солдат характеризуется моральным духом, который повышается при повышении звания и наоборот. При ранении моральный дух падает. При успешном завершении боя моральный дух растёт и наоборот. Раненые и убитые солдаты не могут участвовать в боях (методы учёта результатов боя не работают).

Поля: ФИО, войсковое воинское звание, моральный дух, количество выигранных боёв, количество проигранных боёв, состояние (в строю, ранен, убит), личный номер солдата.

Методы: вернуть ФИО, вернуть звание, вернуть моральный дух, повысить/понизить в звании, вернуть количество выигранных боёв, учесть выигранный бой (в виде параметра передаётся новое состояние солдата), вернуть количество выигранных боёв, учесть проигранный бой (аналогично), вернуть состояние, вернуть номер солдата; вылечить раненого солдата.