
Implementáld az alábbi int-eket tároló vektor osztályt:

------------------------------------------------------|
|  class IntVector                                    |
|-----------------------------------------------------|
| + push_back(element : int)                          | 
| + pop_back()                                        | -> utolsó elem törlése
| + remove(index : int)                               |  
| + erase(element : int)                              | 
| + clear()                                           |  
| + empty() : bool                                    |
| + get(index : int) : int                            |  
| + get(index : int) : const &int, (const)            | -> 5. feladatban már hasznos optimalizáció lesz, 
|                                                     |     amúgy igazából nincs értelme const referenciaként visszaadni intet
| + set(index : int, value : int)                     |  
| + size() : int                                      |  
| + capacity() : int                                  |  
| + ensure_capacity(capacity : int)                   |  
| + resize(size : int)                                |  
| + append_array(other : IntVector)                   |  
| + find(val : int) : int                             | -> Megkeresi az adott értéket, és visszaadja az indexét, illetve ha nem található -1 et
| + dataw() : int*                                    | -> Visszaadja az adatokat tároló tömböt -> ki lehet optimalizálni vele függvényhívásokat, amikor fontos.
| + data() : const int*, (const)                      | -> Visszaadja az adatokat tároló tömböt, de ez konstans verzió.
| + operator[](index: int) : const &int, (const)      | -> 5. feladatban már hasznos optimalizáció
| + operator[](index: int) : &int                     | -> Ha esetleg összeakad az eggyel fejlebb lévővel, akkor hagyjátok ki az egyiket, majd később kipróbálom én is
| + IntVector()                                       |
| + IntVector(prealloc : int)                         |
| + IntVector(prealloc : int, grow_by : int)          |
|-----------------------------------------------------|
| - _data : int*                                      | -> Maga a tároló tömb
| - _actual_size : int                                | -> ekkora a tömb
| - _size : int                                       | -> size() ezt adja vissza / ennyi elem van eltárolva a vektorban
| - _grow_by : int                                    | -> Ha növelni kell a _data tömböt, akkor ennyivel legyen megnövelve
------------------------------------------------------|
