Лабораторная работа №2. Отношение включения. Постановка задачи.
Разработать определения двух класса “Класс №1” и “Класс №2”, которые связаны отношением включения. Поля разрабатываемых классов считаются заданными и приводятся в таблице. Для всех классов требуется написать три вида конструкторов (умолчания, с параметрами и конструктор копирования), деструктор, перегруженный оператор присваивания, методы доступа и метод print(), распечатывающий значения полей объекта. Написать тестовую программу для проверки работоспособности разработанных классов.
*C”ИМЯ КЛАССА” (ИМЯ КЛАССА) >> Свойства класса.
Вариант * |
Класс №1 |
Свойства (Класс №1) |
Класс №2 |
Свойства (Класс №2) |
1 |
СGroup (Группа) |
Int NumberGr (Номер группы, например – 84) String NameGr (Имя группы, наприер – ИКПИ) |
CStudent (Студент) |
String Surname (Фамилия, например – Иванов) CGroup* G |
2 |
CProfession (Профессия) |
String Spec (Специальность, например – Специалист по обеспечению безопасности на объекте) Int Number (Номер специальности в отделе, например – 03) |
CWorker (Сотрудник) |
String Surname (Фамилия, например – Иванов) CProfession* P |
3 |
CCharacteristic (Характеристика) |
Float Bite (Размер, например – 8) String Format (Формат, например – txt) |
CFile (Файл) |
String Name (Имя, например – Иван) CCharacteristic * S |
4 |
CWheel (Колесо) |
Float Diam (Диаметр, например – 23.5) String NameBr (Имя производителя колёс, например – Michelin) |
CCar (Машина) |
String Brand (Бренд, например – LADA) CWheel* W |
5 |
CComponent (Компонет) |
Float Cost (Цена, например – 87.7) String Type (Тип, например – пассивный компонент) |
CRadioDetal (Радиодеталь) |
String Name (Наименование, например – Транзистор) CComponent* C |
6 |
CAuthor (Автор) |
Char* Name (Название, например – Капитанская дочка) Int Pages (Число страниц, например – 370) |
CBook (Книга) |
String Name (Имя, например – Александр Сергеевич Пушкин) CAuthor* A |
7 |
CDescription (Описание) |
String Name (Название, например – Аватар) Float Duration (Продолжительность (в минутах), например – 186.5) |
CFilm (Фильм) |
Double Rating (Рейтинг фильма, например – 8.61) CDescription* D |
8 |
СProperties (Свойства) |
Int Number (Номер в составе, например – 7) String Type (Тип, например – Сцепной) |
СRailwayWagon (Железн. Вагон) |
String Company (Компания, например - Алтайвагон) СProperties obj |
9 |
CType (Тип) |
Float Long (Длинна, например – 35.5) String Brand (Бренд, например – Airbus) |
CAircraft (Самолёт) |
String Company (Компания в которой используются, например – Аэрофлот) CType* T |
10 |
CDescription (Описание) |
String Type (Тип, например – Логический) String Class (Классификация, например – Процедурный) |
CLanguageProg (Язык программ.) |
String Name (Название, например – Prolog) CDescription* D |
11 |
CCardClient (Карта клиента) |
Float Balance (Баланс, например – 17789.9) String Type (Тип карты, например – Кредитная) |
CClientBank (Клиент банка) |
String Name (Название банка, например – Сбербанк) CCardClient obj |
12 |
CDetail (Деталь) |
String Brand (Бренд, например – Nvidia) String Name (Название комплектующего, например – Видеокарта) |
CParts (Комплектующие) |
Double Cost (Цена, например – 16660.6) CDetail obj |
13 |
CDescription (Описание) |
Int Number (Номер, например – 37) String Comand (Команда, например – Зенит) |
CFootbalPlayer (Игрок футбол.ком.) |
String FullName (Имя футболиста, например – Криштиану Роналду) CDescription obj |
14 |
CCharacteristic (Характеристика) |
Long Size (Занимаемое пространство (в байтах), например – 542448800) Float Cost (Цена лицензии, например – 1990) |
CProgramPocket (Програм.пакет) |
String Firm (Компания, разработавшая, например – Microsoft) CCharacteristic obj |
15 |
CAdvertisement (Объявление) |
String Location (Расположение (район), например – Выборгский) Int Rooms (Число комнат, например – 2) |
CApartment (Квартира) |
Double Cost (Цена квартиры (в млн. руб., например – 3.41) CAdvertisement* A |
16 |
CCharacteristic (Характеристики) |
String Model (Модель телевизора, например – PHL42) Float Diagonal (Диагональ, например (в дюймах), например – 42) |
CTV (Телевизор) |
Double Cost (Цена, например -13990) CCharacteristic obj |
17 |
CData (Данные) |
Long Number (Номер паспорта, например – 4013979478) Char* FullName (Полное имя держателя, например – Иванов Иван Иванович) |
CPassport (Паспортные дан.) |
String Country (Страна держателя, например – Россия) CData* D |
18 |
CCharacteristic (Характеристики) |
Float Display (Диагональ (в дюймах), например – 4.0) Int Battery (Ёмкость аккумулятора (mAh), например – 4130) |
CMobilePhone (Мобильный тел.) |
String Brand (Производитель устройства, например – Samsung) CCharacteristic obj |
19 |
CLogs (Данные) |
Int Visitors (Среднее число посетителей (в день), например – 32800) String Host (Хост, например – MacHost) |
CWebsite (Сайт) |
String Name (Название сайта, например – Ulmart) CLogs* L |
20 |
CDescription (Описание) |
Long Weight (Вес планеты (секстиллион. тонн), например – 5.97) Bool Atmosphere (Наличие атмосферы, например – Есть) |
CPlanets (Планеты СС) |
String Name (Название, например – Земля) CDescription obj |
21 |
CGuide (Путеводитель) |
Float Pricein (Цена входа, например – 120) String Locale (Район расположения, например – Адмиралтейский) |
CMuseumsSPB (Музеи СПБ) |
String Thematics (Тематика, например – Исторический) CGuide* G |
22 |
CBrochure (Брошюра) |
Float Cost (Цена билета, например – 890) String Locale (Расположение театра (проспект/улица), например – Рубиншейна) |
CTheatresSPB (Театры СПБ) |
String Name (Имя театра, например – МДТ) CBrochure obj |
23 |
CAdvertisement (Объявление) |
Int RatingStars (Рейтинг (число звёзд), например – 5) Float Cost (Средняя цена (в сутки), например – 1790) |
CHotelSPB (Отели СПБ) |
String Name (Название, например – RadisonRoyal) CAdvertisement obj |
24 |
CCharacteristic (Характеристики) |
String Model (Модель, например – SF950) Int CameraMP (Число мегапикселей камеры, например – 13) |
CSmartphone (Смартфон) |
Double Cost (Цена телефона, например – 13990) CCharacteristic* С |
25 |
CEngine (Двигатель) |
Float Volume (Мощность (л.с.), например – 150) String Name (Имя производителя, например – FORD) |
CTransport (Транспортное ср. ) |
String Brand (Бренд автомобиля, например – Rolls-Royce) CEngine* E |
26 |
CCharacteristic (Характеристики) |
Char* Processor (Производитель процессора, например – Intel) String FormFactor (Форм-фактор, например – Ультрабук) |
CPersonalPC (Персональный ПК) |
String Brand (Производитель компьютера, например – InvasionLabs) CCharacteristic obj |
27 |
CCharacteristic (Характеристики) |
String VideoCard (Производитель видеокарты, например – Nvidia) Float RAM (Объем ОЗУ (Гб.), например – 8) |
CNotebook (Ноутбук) |
String Brand (Производитель ноутбука, например – Acer) CCharacteristic* С |
28 |
CCharacteristic (Характеристики) |
String Model (Модель, например – SMOL50) Float Cost (Цена, например – 22990) |
CTV (Телевизор) |
String Brand (Производитель, например – Samsung) CCharacteristic* C |
29 |
CDescription (Описание) |
String Class (Класс, например – Папоротниковидные) Bool Fertile (Плодовитость, например – Истина) |
CPlants (Растение) |
String Name (Название, например – Туя обыкновенная) CDescription* D |
30 |
CDescription (Описание) |
String Type (Тип, например – Хищник) Int Population (Популяция (приблизительное число особей), например - 1690) |
CAnimals (Животные) |
String Name (Название, например – Панда) CDescription obj |
Пример |
CSpine (Позвоночник) |
Float LeightSpine (Длинна позвоночника, например – 17) String NameSpine (Название позвонка, например - Шейный) |
CMammal (Млекопитающее) |
Float WeightMammal (Вес млекопитающего, например – 25) CSpine* MammaFeatures |