MeehoweCK

Untitled

Dec 28th, 2020
733
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.27 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class vector_int
  6. {
  7.     int* dane;
  8.     unsigned rozmiar;
  9. public:
  10.     vector_int();
  11.     ~vector_int();
  12.     unsigned get_rozmiar() {return rozmiar;}
  13.     void dodaj_element(int);
  14.     int& operator[](unsigned);
  15. };
  16.  
  17. vector_int::vector_int() : rozmiar(0), dane(new int[0]) {}
  18.  
  19. vector_int::~vector_int()
  20. {
  21.     delete[] dane;
  22. }
  23.  
  24. void vector_int::dodaj_element(int nowy_element)
  25. {
  26.     if(rozmiar == 0)
  27.     {
  28.         delete[] dane;
  29.         dane = new int[1];
  30.         dane[0] = nowy_element;
  31.         ++rozmiar;
  32.     }
  33.     else
  34.     {
  35.         int* temp = new int[rozmiar];
  36.         for(unsigned i = 0; i < rozmiar; ++i)
  37.             temp[i] = dane[i];
  38.         delete[] dane;
  39.         dane = new int[rozmiar + 1];
  40.         for(unsigned i = 0; i < rozmiar; ++i)
  41.             dane[i] = temp[i];
  42.         delete[] temp;
  43.         dane[rozmiar] = nowy_element;
  44.         ++rozmiar;
  45.     }
  46. }
  47.  
  48. int& vector_int::operator[](unsigned nr)
  49. {
  50.     return dane[nr];
  51. }
  52.  
  53. int main()
  54. {
  55.     vector_int wektor;
  56.     wektor.dodaj_element(2);
  57.     wektor.dodaj_element(5);
  58.     wektor.dodaj_element(10);
  59.  
  60.     unsigned rozmiar = wektor.get_rozmiar();
  61.  
  62.     for(unsigned i = 0; i < rozmiar; ++i)
  63.         cout << wektor[i] << endl;
  64.     return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment