2 Bedeutungen von überladen der Operatoren ?



  • Hi aus einem Buch habe ich:

    "Überladen bedeutet, dass es erlaubt ist Funktionen, Methoden und Operatoren mit gleichen Namen bzw. Symbolen vereinbaren zu lassen aber nur wenn eine eindeutige Unterscheidung anhand der Parameterliste oder des Rückgabetypes möglich ist."

    Doch aus einer anderen Quelle habe ich das hier:

    Das Überladen der Objekte, dient z.b. dafür Objekte einer klasse auszugeben, zu addieren u.s.w. Das kann man ohne überladen nicht so ohne weiteres machen. Man muss quasi dem << mitteilen das er jetzt auch Klassenobjekte der klasse ausgeben kann.
    Der Vorteil ist z.b. wie hier beschrieben:

    und das hier:

    "TComplex a,b,c,d;
    d = a+b+c; Diese Version ist leichter zu tippen
    und sich zu merken als die dadrunter
    --------------------
    TComplex a,b,c,d;

    d = AddiereKomplex(a, AddiereKomplex(b,c));
    -------------------------------------------------------------------------
    Aus diesem Grund überlädt man Operatoren, damit man nicht so umständlich schreiben muss.
    Anstatt : d = AddiereKomplex(a, AddiereKomplex(b,c)); reicht schon
    d = a+b+c; "
    Welche Version ist nun die richtige ? 😕



  • Gehört eindeutig zu deiner Frage nach Vor- und Nachteilen besagten Überladens, deshalb geht's dort weiter.

    Bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema.
    Und denk auch daran, das wir ein eigenes Forum für Standard-C++ haben.
    Hier geht es vorrangig um BCB-spezifische Besonderheiten.


Anmelden zum Antworten