Advertisement
jakobok12

Untitled

May 1st, 2015
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.16 KB | None | 0 0
  1. template <class T>
  2. class Zbior
  3. {
  4. protected:
  5.     list<T>lista;
  6.     int licznik;
  7.     int rozmiar;
  8. public:
  9.     Zbior(int _rozmiar) : rozmiar(_rozmiar) { licznik = 0; }
  10.     Zbior(){}
  11.     template <class T>
  12.     void Dodaj(T element)
  13.     {
  14.         if (licznik <= rozmiar)
  15.         {
  16.             lista.push_back(element);
  17.             licznik++;
  18.         }
  19.         else
  20.             throw 1;
  21.     }
  22.     int IleElementow()
  23.     {
  24.         return licznik;
  25.     }
  26.     template <class T>
  27.     T PobierzElement(int index)
  28.     {
  29.         int k = 0;
  30.         for (list<T>::iterator *i = lista.begin(); i != lista.end(); i++)
  31.         {
  32.             if (k == index)
  33.             {
  34.                 return *i;
  35.             }
  36.             k++;
  37.         }
  38.     }
  39. };
  40. template <class T>
  41. class Magazyn : public Zbior<Towar>
  42. {
  43. public:
  44.     Magazyn(int _rozmiar) : Zbior(_rozmiar) {}
  45.     void DodajTowar(Towar *t)
  46.     {
  47.         Zbior::Dodaj(t);
  48.         throw 'q';
  49.     }
  50.     template <class T>
  51.     T NajdrozszyTowar()
  52.     {
  53.         T najdrozszy = lista.begin();
  54.         for (list<T>::iterator i = lista.begin(); i != lista.end(); i++)
  55.         {
  56.             if ((i->cena*i->ilosc) > (najdrozszy.cena*najdrozszy.ilosc))
  57.                 najdrozszy = i;
  58.         }
  59.         return i;
  60.     }
  61.     template <class T>
  62.     void WyswietlStanMagazynu()
  63.     {
  64.         for (list<T>::iterator i = lista.begin(); i != lista.end(); i++)
  65.         {
  66.             i->Opis();
  67.         }
  68.     }
  69. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement