Witam,
zacząłem się bawić w klasy w C++. W ramach treningu napisałem swój wektor. Chciałem przeciążyć operator[] w taki sposób, żebym mógł pisać np.
vec[i]=vec[i-1]+3
Dotychczas zwracałem wartość tablicy w indeksie i, ale w takim wypadku nie działa przypisanie do indeksu. Nie wiem jak zrobić by raz vec[i] dawało element jaki przechowuje wektor, a raz wskaźnik na element by można było przypisać wartość.
W skrócie, mój kod wygląda tak:
template <typename Typ> class Wektor
{
Typ *content; //zawartosc
int capacity; //maksymalna pojemnosc
int current; //indeks ostatniej komorki+1
public:
Wektor();
~Wektor();
Typ get(int index); //zwraca content[index]
void push_back(int val);
Wektor& operator=(Wektor& other); //i to dziala jak powinno
Typ operator[](int i)
{
if(i>=size()) //jesli jest ponad zakresem to blad
exit(0);
return get(i); //zwroc wartosc
}
}
Z góry dzięki za pomoc.