Benutzerdefinierte Typumwandlung: Konstruktoren (2/3)

Beispiel:

Die Klasse complex könnte wie folgt deklariert werden:

  class complex {
      double re;
      double im;
  public:
      complex (double r, double i= 0) { re=r; im=i;}
 
      friend complex operator+(complex, complex);
      friend complex operator*(complex, complex);

      complex operator+=(complex);
      complex operator*=(complex);

      // ...
  };

Aufgrund des eingeführten Konstruktors genügen bei den Methoden der Klassen als mögliche Parameterwerte Elemente der Klasse aus, da sowohl int- als auch double-Werte über den Konstruktor in complex-Objekte überführt werden.