Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Варианты для группы Б.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
98.3 Кб
Скачать

Вариант 27

Создать класс Ship (корабль), содержащий следующие элементы:

- поле «название» char* Name;

- поле «дальность плавания» (в километрах) int Distance;

- поле «водоизмещение» (тыс. тонн) float Displacement;

- метод получения названия char* GetName();

- метод получения дальности плавания int GetAge();

- конструктор с параметрами Ship(char* Name, int distance, float Displacement).

Унаследовать от класса Ship класс AircraftCarrier (авианосец), содержащий элементы:

- поле «количество истребителей» int Fighters;

- поле «количество бомбардировщиков» int Bombers;

- метод «узнать количество самолётов» (всех — и истребителей, и бомбардировщиков) int GetAircrafts();

- конструктор с параметрами AircraftCarrier (char* Name, int Distance, float Displacement, int Fighters, int Bombers).

В классе AircraftCarrier перегрузить оператор - (бинарный, дружественный), новое действие – сравнить два авианосца и вернуть тот, у кого больше самолётов.

Вариант 28

Создать класс Person, содержащий следующие элементы:

- поле «имя» char* FirstName;

- поле «фамилия» char* LastName;

- поле «отчество» char* Otchestvo;

- поле «возраст» int Age;

- метод получения ФИО char* GetFIO();

- метод получения возраста int GetAge();

- конструктор с параметрами Person(char* FirstName, char* LastName, char* Otchestvo, int Age).

Унаследовать от класса Person класс ChessPlayer (шахматист), содержащий элементы:

- поле «развряд или звание» char* Competence;

- поле «количество побед в турнире» int Wins;

- поле «количество поражений в турнире» int Fails;

- поле «общее количество игр в турнире» int Playings;

- метод «сыграть партию» (в качестве аргумента указывается результат — 0 очков, 0,5 очка или 1 очко) void PlayChess(float result);

- конструктор с параметрами ChessPlayer(char* FirstName, char* LastName, char* Otchestvo, int Age, char* Competence);

В классе ChessPlayer перегрузить оператор ~ (унарный, оператор класса) – получениnm информаци. о количестве очков (победа считается как 1 очко, ничья — как 0,5 очка, а поражение — как 0 очков).

Вариант 29

Создать класс Weapon, содержащий следующие элементы:

- поле «объем магазина» int Capacity;

- поле «калибр» int Calibre;

- поле «дальность стрельбы» int Distance;

- метод «зарядить оружие» void Charge();

- метод «разрядить оружие» void UnCharge();

- конструктор с параметрами Weapon(int Capacity, int Calibre, int Distance);

Унаследовать от класса Weapon класс MachineGun (пулемёт), содержащий элементы:

поле «табельный номер» int Number;

поле «тип ствола» char* BarrelType; (гладкоствольное, нарезное)

поле «состояние» int State; (на предохранителе или нет)

конструктор с параметрами Gun(int Capacity, int Calibre, int Distance, int Number, char* BarrelType);

метод «одиночный выстрел» int Shot() (возвращается 1, если выстрел удался, и 0, если патронов уже не осталось);

метод «выстрел очередью» int Queue(int Catridges) (вовзращается число, меньшее или равное Catridges, которое показывает, сколько патронов было выстрелено);

В классе Gun перегрузить оператор ~ (унарный, оператор класса), новое действие – поставить/снять с предохранителя.