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

Вариант 17

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

- поле «Яркость» int Light;

- поле «Мощность» int Power;

- поле «Напряжение» int Voltage;

- метод получения яркости int GetLight();

- метод получения мощности int GetPower();

- метод получения напряжения int GetVoltage();

- конструктор с параметрами LightDevice(int Light, int Power, int Voltage);

Унаследовать от класса LightDevice класс Lamp, содержащий элементы:

- поле «состояние» (вкл/выкл) int State;

- поле «цвет» int Color;

- конструктор с параметрами Lamp(int Light, int Power, int Voltage, int Color);

- метод «Включить» void On();

- метод «Выключить» void Off();

В классе Lamp перегрузить оператор ++ (унарный, оператор класса), новое действие – увеличить яркость.

Вариант 18

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

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

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

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

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

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

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

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

- поле «объём цистерн» (в тыс. литров) float MaxVolume;

- поле «текущий объём перевозимой нефти в цистернах» (в тыс. литров) float Volume;

- метод «заправить цистерны перевозимой нефтью» void LoadOil(int volume);

- метод «выгрузить из цистерн перевозимую нефть» void UnloadOil(int volume);

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

В классе Tanker перегрузить оператор ~ (унарный, оператор класса), новое действие – вернуть текущий объём перевозимой нефти в цистернах.

Вариант 19

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

- поле «размер» long Size;

- поле «Дата создания» char* Date;

- поле «Владелец» char* Owner;

- поле «содержимое файла» char* Content;

- метод чтения данных char* Read();

- метод записи данных void Write(char* buffer);

- конструктор с параметрами File(long Size, char* Date, char* Owner);

Унаследовать от класса File класс Document, содержащий элементы:

- поле «размер шрифта» int FontSize;

- поле «цвет шрифта» int FontColor;

- конструктор с параметрами Document(long Size, char* Date, char* Owner, int FontSize, char* Color);

- метод «Установить цвет» void SetColor(char* Color);

В классе Document перегрузить оператор + (бинарный, дружественный оператор), новое действие – слияние содержимого документов.

Вариант 20

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

- поле «ФИО» char* Name;

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

- поле «Стаж» int Stage;

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

- метод получения надбавки за стаж (стаж>3 лет 5%, >10 лет 10%, > 20 лет 15%) int AddSalary();

- метод получения стажа int GetStage();

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

- конструктор с параметрами Employee(char* Name, int Stage, int Age);

Унаследовать от класса Employee класс Manager, содержащий элементы:

- поле «зарплата» int Salary;

- поле «должность» char* Position;

- конструктор с параметрами Manager(char* FIO, int Stage, int Age, char* Position, int Salary);

- метод «назначить на новую должность» void SetNewPosition(char*NewPosition);

В классе Manager перегрузить оператор ++ (унарный, оператор класса), новое действие – увеличить стаж.