#include "niz.hpp" Niz::Niz(int i) :_duzina(i), _kapacitet(i) { _elementi = new int[_duzina]; } Niz::Niz(const Niz &n) { _duzina = n._duzina; _kapacitet = n._kapacitet; _elementi = new int[_kapacitet]; for (int i = 0; i < _duzina; i++) _elementi[i] = n._elementi[i]; } Niz Niz::operator=(const Niz &n) { if (this != &n) { delete [] _elementi; _duzina = n._duzina; _kapacitet = n._kapacitet; _elementi = new int[_kapacitet]; for (int i = 0; i < _duzina; i++) _elementi[i] = n._elementi[i]; } return *this; } Niz::~Niz() { delete [] _elementi; } int Niz::operator[](int i) const { return _elementi[i]; } int& Niz::operator[](int i) { if (i < _duzina) return _elementi[i]; if (i < _kapacitet) { _duzina = i + 1; return _elementi[i]; } _kapacitet = i + 100; int nova_duzina = i + 1; int *novi_elementi = new int[_kapacitet]; for (int j = 0; j < _duzina; j++) novi_elementi[j] = _elementi[j]; delete [] _elementi; _elementi = novi_elementi; _duzina = nova_duzina; return _elementi[i]; }