DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

Рік:
2012
Тип роботи:
Лабораторна робота
Предмет:
Інші
Група:
КН-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:26

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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