frage zu operatoren
-
hm bloß was muss dann dadrin stehen? mit der funktion für den [] operator geb ich ja n integer wert zurück, was muss dann die == funktion machen wenn ich den integer mit nem andren vergleichen will?
-
class klasse2{ ... bool operator==(klasse2); ... } class klasse1{ ... klasse2 operator[](int); ... }
Deine klasse2 gibt irgendwas zurück, in dem Fall vom Typ klasse2. Dafür brauchst du dann einen Vergleichsoperator.
-
Da war ich wohl zu spaet.
aber wenn deine operator[] Methode einen int zurueck gibt dann ist doch schon ein == Operator definiert.
-
Entyl_Sa schrieb:
aber wenn deine operator[] Methode einen int zurueck gibt dann ist doch schon ein == Operator definiert.
jo des woltle ich ja wissen, ob ich einfach == verwenden kann... thx
-
und was ist wenn ich mit
test[5]=3;
dem einen wert zuweisen will? wie organisiere ich das dann mit den operatoren?
-
n4pl schrieb:
und was ist wenn ich mit
test[5]=3;
dem einen wert zuweisen will? wie organisiere ich das dann mit den operatoren?ist schon orgasmisiert. beachte, daß der op[] eine referenz auf das gesuchte element zurückgibt.
-
Wenn der [] Operator eine Referenz zurueck gibt, und diese nicht const ist, dann funktioniert das mit der Zuweisung, andernfalls ist das genau die Loesung.
Korrigiert mich, aber es muss nicht umbedingt eine Referenz zurueckgeben.
-
ok danke leute!!!
gut zu wissen wie man dasvolkard schrieb:
orgasmisiert
;P
grüsse euer n4pl
-
*noch ne dumme frage stell* (sacht bescheid wenns euch nervt
)
was is mit mehreren []?
also z.b.
bsp[4][6]
sag ich dann einfach
&int operator[][] (int &a, int &b) ?
danke!!
-
Nö, es gibt nur den [] Operator. [][] ist einfach Mehrfachanwendung von []. Daraus folgt, dass bei 2D-Sachen der operator[] etwas zurückgeben muss, auf das man wieder [] anwenden kann.
-
beispielcode zu [][] auf http://www.c-plusplus.net/forum/viewtopic.php?t=57613&postdays=0&postorder=asc&start=0
-
thx @volkard.. hört sich aber alles etwas kompliziert an, ich glaub ich nehm nem () operator, sodass ich das dann mit
bla(2,4);
aufrufen kann...