c++ operator overloading []

ich sitze gerade vor folgendem problem..

ich habe eine klasse geschrieben. in der klasse wird ein 2d vector erstellt.

mein problem ich will den [] operator übeladen so dass ich in meiner main funktion z.b map_z[0][0] aufrufen kann und mir dann der inhalt von dem feld wiedergegeben wird..

wenn ich nur map_z[0] benutze geht alles..

nur wie schreibe ich es wenn ich [] doppelt benutzen will..

so : int world::operator [][](int spalte,int zeile);

bekomme ich ne dicke fehlermeldung...



hat jemand eine lösung für das problem..??
 
implementiere den operator[] so, dass er einen Typen liefert, auf den du auch wieder den operator[] anwenden kannst. dann bekommst du z.B. per
Code:
vector bla = objekt[5]
einen vector, in dem die 6. reihe gespeichert ist, und dann kannst du durch
Code:
bla[4]

auf das 5. element in diesem vector zugreifen, so hast du dann das element aus der 6. reihe und der 5. spalte.

schneller gehts dann auch per
Code:
objekt[5][6]

da das aber doch etwas umständlich ist, würde ich einfach eine methode namens getElementAt(int x, int y); machen, die das gewünschte Element liefert.
 
Zurück
Oben