Benutzerdefinierte Typumwandlung: Umwandlungs-Operator (1/3)
Bisher haben wir gelernt, wie man einen fremden Datentyp in ein selbsdefiniertes
Objekt umwandeln kann.
Neben der eben aufgezeigten Möglichkeit, die Typumwandlung über die Deklaration
eines Konstruktors durchzuführen, gibt es noch eine zweite Möglichkeit
der Umwandlung, da mit dem Konstruktor-Ansatz einige Probleme auftreten:
-
Umwandlungen eines benutzerdefinierten Typs in einen elementaren Typ sind
nicht möglich.
-
Umwandlungen eines neuen Typs sind ohne nachträgliche Veränderung
der alten Klasse auch nicht möglich.
Bisher wurde ein bekannter Typ in ein spezielles Objekt umgewandelt.
Gesucht ist nun nach einer Möglichkeit zur Umwandlung des Objekts
in einen fremden Datentyp. Dies geschieht mit Hilfe sogenannter
Konvertierungsfunktionen bzw. -operatoren (conversion
functions).
Syntax
Die Deklaration derartiger Funktionen geschieht mit dem Schlüsselwort
operator, gefolgt von dem Typ, in den umgewandelt werden soll:
operator typ () const;