Umwandlungs-Operator: Problematik der Mehrdeutigkeit (1/2)

Bei all der Freude über ein mögliches Hin- und Herkonvertieren zwischen den verschiedenen Klassen bzw. elementaren Typen sollte man aber eine sehr wichtige Gefahr nicht übersehen: die Gefahr der Mehrdeutigkeiten.

Machen wir uns dies an einem kleinen Beispiel klar. Wir benutzen wieder die oben nur rudimentär eingeführte Klasse Bruch (alles, was zum Verständnis der Problematik nötig ist, haben wir bereits kennengelernt).

  main()
  {
      const Bruch a(4,3);     // Bruch a (zaehler=4, nenner=3) deklarieren
      Bruch x;                 // Bruch-Variable x deklarieren

      while (x < 1000)        // solange x < 1000
          x=x*a;
  }

Die Problematik steckt in dem Ausdruck

  x < 1000