#include "niz.hpp" int Niz::operator[](int i) const { if (i >= _velicina) throw "Indeks preveliki"; return _elementi[i]; } int& Niz::operator[](int i) { if (i >= _kapacitet) { //realokacija int tmp = _velicina; _velicina = i + 1; _kapacitet = _velicina + 100; int *stari = _elementi; _elementi = new int[_kapacitet]; for(int i = 0 ; i < tmp; i++) _elementi[i] = stari[i]; delete [] stari; } else if (i >= _velicina) { _velicina = i + 1; } return _elementi[i]; } void Niz::init(const Niz &n) { _velicina = n._velicina; _kapacitet = n._kapacitet; _elementi = new int[_kapacitet]; for (int i = 0; i < _velicina; i++) _elementi[i] = n._elementi[i]; } void Niz::deinit() { delete [] _elementi; } Niz::~Niz() { deinit(); } Niz::Niz(const Niz &n) { init(n); } Niz& Niz::operator=(const Niz &n) { if (this != &n) { deinit(); init(n); } return *this; }