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.


Anmelden zum Antworten