Добавил:
github.com Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
3
Добавлен:
30.09.2023
Размер:
144.9 Кб
Скачать

Контрольные вопросы

  1. Что представляет собой класс?

  2. Какие спецификации доступа используются при описании класса?

  3. Что является элементами класса?

  4. Как осуществляется доступ к элементам класса?

  5. Для чего используется указатель this?

  6. Что такое конструктор?

  7. Что такое деструктор?

Таблица 4.2. Варианты заданий

1, 13

Создать класс «Автомобиль», включающий данные-элементы: марка, объем топливного бака, тип привода, тип кузова, макс скорость, разгон до 100 км/ч, расход бензина на 100 км (учесть движение по городу, шоссе, проселочной дороге и др.)

Методы:

  • создание и инициализация (конструктор),

  • заправка а/м (количество бензина – в аргументе с учетом объема топливного бака и остатка бензина в баке),

  • поворот ключа зажигания

  • выдача ошибок любого типа (в современных а/м ошибки и предупреждения отображаются на экране в салоне, но поступают эти сообщения от множества различных устройств в автомобиле, например датчика в двигателе)

  • расход бензина (пройденный путь и вид пути – в аргументе),

  • выдача сообщения о том, сколько км можно проехать на оставшемся бензине,

  • деструктор.

Создать класс «Двигатель», включающий данные-элементы: тип двигателя, текущее состояние (запущен или нет).

Методы:

  • создание и инициализация (конструктор),

  • включение/выключение двигателя

  • выдача сообщений об ошибке запуска и работы

  • деструктор.

2, 14

Создать класс «Пиломатериал», включающий данные-элементы: тип материала, стоимость покупки, стоимость продажи, объем.

Методы:

  • создание и инициализация (конструктор),

  • выдача объема материала

  • выдача стоимости покупки и продажи материала

  • деструктор

Создать класс «Склад пиломатериалов», включающий данные-элементы: № склада, фамилия директора, максимальный объем хранимых пиломатериалов,

список пиломатериалов, покупная и отпускная цена за м3 каждого из видов пиломатериалов.

Методы:

  • создание и инициализация (конструктор),

  • поступление (покупка) материала на склад (пиломатериал в аргументе)

  • вывоз (продажа) материала (пиломатериал в аргументе)

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

  • выдача сообщения, сколько и каких пиломатериалов есть в наличии,

  • деструктор.

3, 15

Создать класс «SIM-карта», включающий данные-элементы: номер, количество денег на счете, пин-код, тариф. Методы:

  • создание и инициализация (конструктор),

  • пополнение счета (сумма – в аргументе),

  • оплата разговоров согласно тарифу (время – в аргументе),

  • выдача текущего баланса,

  • деструктор.

Создать класс «Мобильный телефон», включающий данные-элементы: фирма изготовитель, модель, список SIM-карт (вставленных в телефон, который может быть как «односимочным», так и «двухсимочным»).

Методы:

  • создание и инициализация (конструктор),

  • выдача текущего баланса (SIM-карта в аргументе)

  • пополнение баланса (SIM-карта в аргументе)

  • деструктор.

4, 16

Создать класс «Вагон поезда», включающий данные-элементы: номер вагона, класс вагона, максимальное и занятое количество мест. Функции-элементы:

  • создание и инициализация (конструктор),

  • количество пассажиров, вышедших на промежуточной станции (в аргументе),

  • количество билетов, проданных на промежуточной станции (в аргументе, учесть наличие свободных мест),

  • выдача сообщения о количестве свободных мест в вагоне,

  • деструктор.

Создать класс «Поезд», включающий данные-элементы: номер поезда, количество мест, список вагонов поезда. Функции-элементы:

  • создание и инициализация (конструктор(список вагонов и другие поля в аргументе)),

  • количество пассажиров, вышедших на промежуточной станции,

  • выдача сообщения о количестве свободных мест в поезде,

  • деструктор

5, 17

Создать класс «Платная автостоянка», включающий данные-элементы: название, место расположения, список мест.

Методы:

  • создание и инициализация (список мест в аргументе),

  • выдача количества свободных мест и их номеров

  • выдача номера самого посещаемого места на парковке

  • освободить место (место в аргументе)

  • занять место (место в аргументе)

  • деструктор.

Создать класс «Место на стоянке», включающий данные-элементы: номер, статус (занято или нет), стоимость места.

Методы:

  • создание и инициализация (конструктор),

  • количество стоящих на нем машин за текущий день,

  • занято ли место или нет

  • деструктор

6, 18

Создать класс «Турникет автобуса», включающий данные-элементы: номер турникета, тип, состояние (открыт или закрыт)

Методы:

  • создание и инициализация (конструктор),

  • приложить билет (билет в аргументе)

  • выдача сообщения о приложенном билете (билет в аргументе),

  • выдача сообщения "Турникет открыт"/"Турникет закрыт – указание причины",

  • деструктор.

Создать класс «Билет», включающий данные-элементы: номер билета, срок действия билета, тип билета (разовый, проездной, социальная карта, транспортная карта). Функции-элементы:

  • создание и инициализация (конструктор),

  • анализ "годен/просрочен/использован",

  • выдача сообщения о сроке действия и виде билета,

  • деструктор

7, 19

Создать класс «Банковская карта», включающий данные-элементы: номер, имя владельца, количество денег на счете, пин-код. Функции-элементы:

  • создание и инициализация (конструктор),

  • приход (сумма – в аргументе)

  • расход (сумма – в аргументе)

  • деструктор.

Пояснение: очевидно, что карта не может пополнить свой баланс самостоятельно, также как и чтобы снять с нее деньги используется внешнее устройство.

Создать класс «Банкомат», включающий данные-элементы: номер, вставленная в него текущая карта. Функции-элементы:

  • создание и инициализация (конструктор),

  • вставить карту (ссылка на карту в аргументе)

  • положить деньги (сумма в аргументе, проверить пароль! использует вставленную в него карту)

  • оплатить ЖКХ (сумма – в аргументе, обязательно анализ правильности ввода пин-кода и остатка, минусовой баланс запрещен, использует вставленную в него карту),

  • выдача сообщения об остатке средств на карте (обязательно анализ правильности ввода пин-кода),

  • деструктор

8, 20

Создать класс «Вагон поезда», включающий данные-элементы: номер вагона, класс вагона, максимальное и занятое количество мест. Функции-элементы:

  • создание и инициализация (конструктор),

  • количество пассажиров, вышедших на промежуточной станции (в аргументе),

  • количество билетов, проданных на промежуточной станции (в аргументе, учесть наличие свободных мест),

  • выдача сообщения о количестве свободных мест в вагоне,

  • деструктор.

Создать класс «Поезд», включающий данные-элементы: номер поезда, количество мест, список вагонов поезда. Функции-элементы:

  • создание и инициализация (конструктор (список вагонов и другие поля в аргументе)),

  • количество пассажиров, вышедших на промежуточной станции,

  • выдача сообщения о количестве свободных мест в поезде,

  • деструктор

  • выдача сообщения о количестве свободных мест каждого класса,

  • деструктор.

9, 21

Создать класс «Пончик», включающий данные-элементы: вес теста, вес начинки. Методы:

  • создание и инициализация (конструктор (вес теста и начинки в аргументе)),

  • деструктор

Создать класс «Пончиковый аппарат», включающий данные-элементы: заправка тестом (в граммах), начинкой (в граммах), вес теста на один пончик, вес начинки на один пончик. Функции-элементы:

  • создание и инициализация (конструктор),

  • приготовлено обычных пончиков (количество – в аргументе) (возвращает список пончиков),

  • приготовлено пончиков с начинкой (количество – в аргументе), (возвращает список пончиков),

  • выдача сообщения, сколько можно еще приготовить пончиков разного вида,

  • деструктор.

10, 22

Создать класс «Цифровой фотоаппарат», включающий данные-элементы: модель, объем встроенной памяти, объем внешней памяти (карта памяти), список идентификаторов фотографий. Методы:

  • создание и инициализация без карты памяти (конструктор),

  • установка карты памяти в фотоаппарат (объем – в аргументе),

  • размещение фотографий во встроенной памяти, пока она не закончилась (список из фотографий в аргументе), с переходом во внешнюю память,

  • выдача сообщения о том, сколько еще осталось памяти.

  • деструктор.

Создать класс класс «Фотография», включающий данные-элементы: идентификатор, количество требуемой памяти.

Методы:

  • создание и инициализация (конструктор),

  • выдача идентификатора

  • выдача количества требуемой памяти

  • деструктор.

11, 23

Создать класс «Трехступенчатая ракета-носитель», включающий данные-элементы: вид топлива, объем каждой из ступеней, список ступеней.

Методы:

  • создание и инициализация (конструктор (список ступеней в аргументе)),

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

  • выдача сообщения о том, сколько времени должно пройти к моменту выхода на заданную орбиту,

  • выдать сообщение о том, какая ступень работает в данный момент (время – в аргументе), если все ступени уже отключились, то выдать сообщение об орбитальном полете и времени такого полета,

  • деструктор.

Создать класс «Ступень ракеты-носителя», включающий данные-элементы: вид топлива, объем топлива, время работы. Методы:

  • создание и инициализация (конструктор),

  • деструктор.

12, 24

Создать класс «Кофе», включающий данные-элементы: вес кофе, объем молока. Методы:

  • создание и инициализация (конструктор (вес кофе и объем молока в аргументе) для кофе разных видов),

  • деструктор

Создать класс «Кофе - машина», включающий данные-элементы: заправка кофе (в граммах), молоком (мл), вес кофе на одну чашечку, объем молока на одну чашечку. Методы:

  • создание и инициализация (конструктор),

  • приготовить обычный кофе (количество – в аргументе) (возвращает список чашечек кофе),

  • приготовить латте (количество – в аргументе), (возвращает список чашечек кофе),

  • приготовить капуччино (количество – в аргументе), (возвращает список чашечек кофе),

  • выдача сообщения, сколько можно еще приготовить кофе разного вида,

  • деструктор.

Дополнительная информация