Referenzen und Konstanten: Referenzen (1/2)

Dieser Abschnitt beschäftigt sich eingehend mit dem Thema der Parameterübergabe und der Rückgabewerte bei der Definition von Methoden. Dieses Thema wurde zwar bereits bei der Parameterübergabe für "normale" Funktionen besprochen, soll jedoch aufgrund der Wichtigkeit hier noch einmal behandelt werden, jedoch speziell angewandt auf das Überladen der Operatorfunktionen.

Referenzen sind -- wie bereits erwähnt -- ein wesentliches Sprachmittel zur Laufzeitverbesserung.

Beispiel

  class complex {
      private:
          double re, im;       // Real- und Imaginärteil der komplexen Zahl
      // ...
      complex operator+=(complex);
  };

  complex complex::operator+=(complex c)
  {
      // c ist (lokale) Kopie des zweiten Operanden
      re += c.re;
      im += c.im;

      return *this;
      // Kopie des ersten Operanden wird zurückgeliefert
  };