fork download
  1. #include<iostream>
  2.  
  3. template < class T > class Vector {
  4. public:
  5. T * array;
  6. int arr_size, capacity;
  7.  
  8. Vector( int n_size = 0 )
  9. : arr_size( n_size )
  10. {
  11. array = new T[ arr_size ];
  12. }
  13.  
  14. size_t size() {
  15. return arr_size;
  16. }
  17.  
  18. T & push_back( const T & t ) {
  19. if( arr_size > capacity )
  20. resize();
  21.  
  22. array[ arr_size ] = t;
  23. arr_size++;
  24. }
  25.  
  26. void resize() {
  27. T * backup = new T[ arr_size ];
  28. backup = array;
  29. delete[] array;
  30. array = new T[ arr_size ];
  31. array = backup;
  32. capacity = arr_size;
  33. }
  34.  
  35. T & operator []( int i ) {
  36. return array[ i ];
  37. }
  38. const T & operator []( int i ) const {
  39. return array[ i ];
  40. }
  41. };
  42.  
  43. int main() {
  44. Vector < int > tablica;
  45. for( int i = 0; i < 20; i++ ) {
  46. tablica.push_back( i );
  47. }
  48. for( size_t i = 0; i < tablica.size(); i++ ) {
  49. std::cout << tablica[ i ] << " ";
  50. }
  51.  
  52. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
0 1 2 3 4 5 4113 0 540090416 540221490 540352564 858861876 891301920 959459380 909194288 808727840 875639346 891301945 892547124 875967794