001
21.08.2006, 16:07 Uhr
Th
|
Doch sie sind schon möglich, aber bei Klassen-Operatoren ist der linke Operand stets das Klassenobjekt. Aber wenn du Vergleiche mit anderen Datentypen machen willst, dann möchtest du ja auch z.B. folgendes schreiben:
C++: |
A a; // deine Klasse int x = 42; if (x == a) {
}
|
Bei == wird dann der globale Operator ==(int, const A&) aufgerufen, anstatt der klassenbezogenen Operator A::operator ==(int).
Wenn du aber nur Vergleiche mit deiner eigenen Klasse hast, also z.B. a1 == a2, dann kannst du auch den klassenbezogenen Operator definieren. Dieser Post wurde am 21.08.2006 um 16:08 Uhr von Th editiert. |