Operatorüberladung
-
Hey,
hätte da eine kleine Verständnisfrage:
Muss ich sowohl für:
bool operator== (const MyClass&,const MyClass&)als auch für:
bool operator== (const MyClass*, const MyClass*)den Operator überladen? Oder geschieht das von selber?
Danke im voraus!
-
Bei den Zeigern kannst du gar keinen Operator überladen, da da bereits der in die Sprache eingebaute
operator==für Adressenvergleiche verwendet wird.Immer mindestens ein Parametertyp eines überladenen Operators muss ein benutzerdefinierter Typ sein (Zeiger sind BuiltIns).
-
Nein, das geschieht nicht von selber. Das solltest du auch besser lassen - wer zwei Zeiger vergleicht, will in der Regel auch genau das tun und nicht die Objekte, auf die sie zeigen vergleichen.
edit: Wie Nexus sagt, geht es im Übrigen auch gar nicht.