Überladen von Operatoren ?
-
Hi !
Ich hab da mal eine Frage zum Überladen von Operatoren.
Kann mir jmd ein kleines Beispiel zeigen wie das ausehen soll?
Und was ist der Vorteil und Nachteil von überladen der Operatoren ?
-
Ein Vorteil ist z.B. wenn du Klassen schreibst, die komplexe Zahlen darstellen. Da kannst du problemlos die Arithmektik- Operatoren +-*/ überladen und die entsprechenden Rechen-Operationen durchführen.
Dann kannst du nämlich leicht sowas schreiben:
TComplex a,b,c,d; d = a+b+c;
Das läßt sich (nach meiner Meinung) leicher lesen als:
TComplex a,b,c,d; d = AddiereKomplex(a, AddiereKomplex(b,c));
ein weiteres Bsp findest du in der AnsiString-Klasse.
-
danke, dann ist das bei überladen von Methoden und Funktionen(Konstruktoren) das gleiche?
Also damit man das leichter lesen und schreiben kann ?
-
Funktionen könne überladen werden, damit du für unterschiedliche Parameter nicht immer unterschiedliche funktionsnamen brauchst. Den Rückgabewert einer Funktion kannst du aber nicht überladen.
Tutorials findest du auch hier, schau da mal einfach nach:
http://www.c-plusplus.net/c___1.htm
-
ok danke
Gibts noch mehr Vorteil für Operatoren ?