[ itf @ 21.08.2008. 12:56 ] @
Naletio sam na mali problem pri pisanju predloška klase: Code: #include <iostream.h> template <class T> class Polje { public: T* polje; Polje(int n){ polje = new T[n]; } ~Polje() {delete[] polje;} T operator [](int indeks){ return polje[indeks]; } }; int main(int argc, char* argv[]) { Polje <int> A(10); for(int i = 0; i < 10; i++) A.polje[i] = i; cout << A[5]; // vraća A.polje[5] A[5] = 10; // greška! return 0; } Stvar je u tome što želim implementirati operator [] na način da se preko njega može adresirati polje unutar predloška, i to PRILIKOM INICIJALIZACIJE neke vrijednosti tj. pri upotrebi operatora =. Kao što vidite, implementacija radi kada treba vratiti vrijednost nekog elementa u polju na nekom indeksu, ali kada tom istom elementu polja želim dodati vrijednost onda ne radi. Iskreno, ne znam kako da implementiram operator pridruživanja za ovaj slučaj... |