Очікувані техніко-економічні показники
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Дана програма займає мінімальний об’єм пам’яті. Поширена інформація щодо вимог зазначена вище. Економічні прибутки не розглядаються, оскільки дана програма є об’єктом для навчання. Є можливість щодо використання її як посібника для наступних курсів.

 

Розробка

У програмі використовується поліморфізм, інкапсуляція та успадкування, яскраво представлено ООП. При звернені до батьківського класу, викликаються функції наслідних класів(поліморфізм).При успадкуванні наслідні класи мають доступ до полів батьківського класу. Використано віртуальні функції та поліморфний список об’єктів.

Інкапсуляція дозволяє «заховати» змінні-елементи класу.

Опис класів

album

 

Змінна Призначення Методи Призначення
Nazv God Назва альбому Рік випуску virtual void input() virtual void output() Вод та вивод інформації

аlbum1

Змінна Призначення Методи Призначення
Trek Кількість треків --//-- int getTrek() void setTrek() --//-- Встановлення значення trek

аlbum

Змінна Призначення Методи Призначення
Time Протяжність за часом --//-- int getTime() void setTime() --//-- Встановлення значення time

album3

Змінна Призначення Методи Призначення
Bonus Кількість бонусних треків --//-- Int getBonus(), void setBonus() --//-- Встановлення значення bonus

Tool

Змінна Призначення Методи Призначення
T *d *right *left Змінна списку Указ. на об’єкт Указ. на об’єкт-> Указ. на об’єкт<-    

Trst

Змінна Призначення Методи Призначення
*head *tail *current Указ. на голову Указ. на хвіст Указ. на текущій Void add(int type, int vvod) Додавнна нових елементів списку

 

Клас аlbum – це базовий (батьківський) клас, що містить два інформаційних поля: назву альбому (строковий тип) та рік випуску (цілочисловий тип). Він має дві віртуальні функції (вводу/виводу), та конструктор з деструктором.

Клас аlbum1 – це клас-нащадок класу аlbum, він містить інформаційне поле, що несе інформацію о кількості треків у альбомі. Він також має віртуальні функції (вводу/виводу) та конструктор з деструктором, але ще він має дві функції що створюють поле trek, та повертають значення цього поля.

Клас аlbum2 – це клас-нащадок класу аlbum1, він містить інформаційне поле, що несе інформацію о протяжності альбому за часом. Він також має віртуальні функції (вводу/виводу) та конструктор з деструктором, але ще він має дві функції що створюють поле time, та повертають значення цього поля.

Клас аlbum3 – це клас-нащадок класу аlbum2, він містить інформаційне поле, що несе інформацію о кількості бонусних треків у альбомі. Він також має віртуальні функції (вводу/виводу) та конструктор з деструктором, але ще він має дві функції що створюють поле bonus, та повертають значення цього поля.

Клас Tool – це клас який є двонапрямленим списком об’єктів класу аlbum та його нащадків. Функціями даного класу є конструктор та деструктор що відповідно створюють поліморфний список об’єктів та вивільняють пам'ять відведену під нього.

Клас Trist є дружнім до класу Tool.Він вміщає функцію додавання нових об’єктів до списку. Нові об’єкти додаються у кінець(хвіст) списку і можуть бути одного з типів аlbum, аlbum1, аlbum2 та аlbum3.

Функція int get….() повертає значення даного поля для об’єкту.

Функція int set….() створює поле об'єкта а саме встановлює відповідність(заносить у поле інформацію) з інформацією що вводить користувач при заповнені таблиці.

Функції virtual void output() та virtual void input() являються яскравими покажчиками поліморфізму бо є віртуальними функціями. Вони слугують для виводу на екран або заповнення об’єкту при роботі з таблицею.

 

Список використаної літератури

· Шилдт Г. Самоучитель С++. – Санкт-Петербург, 2007.

· Матеріали локальної сітки НТУ "ХПІ".

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Дата: 2019-12-10, просмотров: 224.