Überladen von operatoren

Dieses Thema im Forum "Informatik" wurde erstellt von caxzy, 25 Dez. 2012.

  1. Hallo liebe informatiker :)
    Hab da mal eine frage:
    complexzahl complexzahl::eek:perator +(complexzahl z)
    {
    complexzahl ergebnis(r+z.r,i+z.i);
    return ergebnis;
    }
    Ich versteh der ausdruck "complexzahl ergebnis(r-z.r,i-z.i);" nicht, für mich sieht das so aus als sei es eine Funktion die als rückgabetyp complexeklasse hat... Hab ich zb. c=z1+z2 für z1=2+2j und z2=4+4j steht in c ja dann c=6+6j..
    Versteh halt nicht wo das ergebnis herkommt, weil es sonst nirgens deklariert wird..
     
  2. AW: Überladen von operatoren

    complexzahl ergebnis(r+z.r,i+z.i);
    ist der Aufruf des Konstruktors mit zwei Argumenten der Klasse "complexzahl".
    Der Konstruktor erzeugt ein Objekt, dass den Namen "ergebnis" bekommt.

    Die beiden Zeilen in der Methode lassen sich in eine Zeile zusammenfassen:
    return complexzahl( r+z.r, i+z.i );

    Die Laufzeit kann deutlich geringer sein (wenn der Compiler wenig optimiert) und der Konstruktoraufruf ist noch klarer sichtbar.

    (Sollte es wichtig sein, dass nur Informatiker antworte: Ich bin keiner.)
     

Diese Seite empfehlen