Benutzerdefinierte Typumwandlungen

Wie in Abschnitt 1 dieses Kapitels bereits erwähnt, tritt z.B. bei der Erweiterung der Klasse complex der komplexen Zahlen das Problem auf, daß man für jeden Operator sämtliche denkbaren Typen von Parametern einzeln berücksichtigen und entsprechend häufig Operatoren überladen müßte. Dieses Vorgehen ist jedoch zum einen ziemlich umständlich und zeitaufwendig, und zum anderen wird die Klassendeklaration und -definition in einem ungewünschten Maße aufgebläht.
Es gibt jedoch Möglichkeiten, diese Mehrfachüberladungen eines Operators für alle nur denkbaren Kombinationen zumindest teilweise zu umgehen: Das "teilweise" bezieht sich vor allem auf Effizienzbetrachtungen, aber dazu später mehr.
Im folgenden betrachten wir zur Veranschaulichung wieder das Beispiel der Klasse der komplexen Zahlen.