Lempek

kontener.h

Dec 30th, 2011
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. /*
  2. * File: kontener.h
  3. * Author: Marcin
  4. */
  5.  
  6. #ifndef KONTENER_H
  7. #define KONTENER_H
  8.  
  9. #include <memory.h>
  10. template <typename TYP>
  11. class Kontener {
  12. protected:
  13. // Domyślny rozmiar kontenera
  14. static const unsigned int DOMYSLNY_ROZMIAR = 0;
  15. // Wskaźnik na właściowy kontener oraz jego rozmiar
  16. TYP *kontener;
  17. unsigned int rozmiar;
  18. public:
  19. // Konstruktory i destruktory
  20. // Domyślny konstruktor
  21. Kontener();
  22. // Konstruktor z parametrami
  23. // explicit - dzięki temu konstruktor działa tylko jako konstruktor zwykły,
  24. // a nie też jako konwertujący. Dzięki temu niemożliwe stanie się np. przypisanie:
  25. // Kontener tablica;
  26. // tablica = 5; // Stworzyłby wtedy 5 - elementowy kontener
  27. explicit Kontener(unsigned int podany_rozmiar);
  28. // Konstruktor kopiujący
  29. Kontener(const Kontener& orig);
  30. // Wirtualny destruktor
  31. virtual ~Kontener();
  32. // Metody
  33. unsigned int pobierz_rozmiar() const; // Pobiera rozmiar kontenera
  34. TYP pobierz_elem(unsigned int index); // Pobiera element o podanym indeksie
  35. bool dodaj_elem(TYP wartosc); // Dodaje element do kontenera
  36. bool modyfikuj_elem(unsigned int index, TYP wartosc); // Zmienia wskazany element
  37. bool usun_elem(unsigned int index); // Usuwa element z kontenera
  38. bool zamien_elem(TYP& a, TYP& b); // Zamienia dwa elementy miejscami
  39. bool zmien_rozm(unsigned int nowy_rozmiar); // Zmienia rozmiar kontenera
  40.  
  41.  
  42. // Przeciążone operatory
  43. // Przeciążony operator przypisania
  44.  
  45. Kontener& operator=(const Kontener& nowa);
  46. // Przeciążony operator indeksowania
  47.  
  48. TYP& operator[](unsigned index);
  49.  
  50. };
  51. //
  52. #endif /* KONTENER_H */
Advertisement
Add Comment
Please, Sign In to add comment