Шаблонні класи С

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Інші
Група:
КН-21

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України Кафедра АСУ Лабораторна робота №5 з дисципліни ООП “ Шаблонні класи С++” Мета: ознайомитись зі структурою, синтаксисом та семантикою шаблонних класів С++, навчитись їх застосовувати при будові програмних систем. Послідовність роботи: Ознайомитись з теоретичним матеріалом про шаблонні класи. Проаналізувати результат роботи прикладу програми з використанням шаблонного класу для роботи з векторами елементів визначених типів. Виконати програму для інших значень параметрів шаблонного класу. Для заданого варіанта завдання написати з використанням шаблонних класів. Оформити звіт про роботу за такою структурою: Назва роботи; Мета роботи; Послідовність роботи; Індивідуальне завдання; Текст програми; Контрольний приклад та результати роботи програми; Висновки; Індивідуальне завдання: створити шаблонний клас – однозв’язний кільцевий список у динамічній пам’яті. Тип елементів черги визначається параметром шаблона. Передбачити функції для виконання таких операцій: занесення заданого елемента до списку, пошук мінімального та максимального елементів, виведення елементів списку на екран. Лістинг програми (код програми): #include <iostream> #include <conio.h> using namespace std; template <typename X> class list { private: struct A{ A *next; X data; }; A *head; A *last; public: list(){ head=NULL; last=NULL; } ~list(){} void add(X x){ if(!head){ A *tmp=new A; tmp->data=x; tmp->next=head; head=tmp; last=tmp; } else { A *tmp=new A; tmp->data=x; last->next=tmp; last=tmp; last->next=head; } } X list::FindMax() { X max=head->data; for(A *tmp=head; tmp!=last; tmp=tmp->next) { if (tmp->data>max) max=tmp->data; } return max; } X list::FindMin() { X min=head->data; for(A *tmp=head; tmp!=last; tmp=tmp->next) { if (tmp->data<min) min=tmp->data; } return min; } void OutList() { for(A *tmp=head ; tmp!=last; tmp=tmp->next) { cout<<tmp->data<<" "; } cout<<endl; } }; int main() { list<int> My; My.add(3); My.add(5); My.add(17); My.add(2); My.add(0); // last element zero My.OutList(); cout<<"Max="<<My.FindMax()<<endl; cout<<"Min="<<My.FindMin()<<endl; _getch(); return 0; } Скріншот виконання програми: Висновок: виконуючи дану лабораторну роботу, я ознайомився зі структурою, синтаксисом та семантикою шаблонних класів С++, навчився їх застосовувати при будові програмних систем.
Антиботан аватар за замовчуванням

29.11.2012 17:11-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!