- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Вариант 17
- •Вариант 18
- •Вариант 19
- •Вариант 20
- •Вариант 21
- •Вариант 22
- •Вариант 23
- •Вариант 24
- •Вариант 25
- •Вариант 26
- •Вариант 27
- •Вариант 28
- •Вариант 29
Вариант 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 перегрузить оператор ~ (унарный, оператор класса), новое действие – поставить/снять с предохранителя.
