Benutzerdefinierte Typumwandlung: Umwandlungs-Operator (2/3)

Beispiel:

Da sich unser complex-Beispiel aus den vorherigen Abschnitten hier nicht eignet, betrachten wir als neues Beispiel eine Klasse bruch, die wie folgt deklariert sei:

  class Bruch {
      double zaehler;
      double nenner;
  public:
      Bruch (int = 0; int = 1);    // Konstruktor der Klasse Bruch
      // verschiedene weitere Elementfunktionen
      // ...
  };

Der Konstruktor mache nichts anderes als die beiden privaten Elemente zaehler und nenner mit den beiden Werten zu initialisieren (default: zaehler = 0, nenner=1).

Hier kann es u.U. sinnvoll sein, Objekte dieser Klasse z.B. nach double zu konvertieren:

  Bruch::operator double () const
  {
      return (double)zaehler/(double)nenner;        // Quotient aus Zähler und Nenner
                                                    // zurückliefern
  }