Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- template <class T>
- class Array{
- T * tab;
- int rozmiar;
- public:
- Array() : tab(NULL), rozmiar(0) {}
- ~Array();
- void pushBack(T const &);
- bool reserve(int);
- T & operator[](unsigned) const;
- int getSize() const;
- void show();
- };
- template <class T>
- Array<T>::~Array(){
- delete [] tab;
- }
- template <class T>
- void Array<T>::pushBack(T const & t){
- reserve(rozmiar + 1);
- tab[rozmiar - 1] = t;
- }
- template <class T>
- bool Array<T>::reserve(int size){
- if (size > rozmiar){
- T * newTab = new T[size];
- for (int i = 0 ; i < rozmiar; ++i)
- newTab[i] = tab[i];
- delete [] tab;
- tab = newTab;
- rozmiar = size;
- return true;
- } else
- return false;
- }
- template <class T>
- T & Array<T>::operator[](unsigned i)const{
- return tab[i-1];
- }
- template <class T>
- int Array<T>::getSize(void) const{
- return rozmiar;
- }
- template <class T>
- void Array<T>::show(){
- for (int i = 0; i < rozmiar; i++){
- cout << tab[i] << " ";
- }
- cout << endl;
- }
- int main(){
- Array <int> t1;
- t1.pushBack(2);
- t1.pushBack(5);
- t1.show();
- int x = t1.getSize();
- cout << "Rozmiar tablicy: " << x << endl;
- cout << t1[2] << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement