Einstellige Konstruktoren: Typumwandlung und Klonen
- Wie das Beispiel zeigt, können einstellige Konstruktoren auch als Konvertierungsoperationen von anderen Typen in den Klassentyp aufgefaßt werden (hier von double nach Complex).
- Weiter werden einstellige Konstruktoren mit gleichem Argument- und Ergebnistyp oft zum Kopieren (Klonen) von Objekten benützt:
- Direkte Zuweisung des Werts einer Objektvariablen an eine andere übergibt ja nur den betreffenden Zeiger.
- Damit entstehen zusammenlaufende Datenstrukturen (sharing) mit der Möglichkeit für unerwünschte Seiteneffekte auf Bezugsobjekte von anderen Variablen.
- Dies wird durch Kopieren vermieden.
Wir geben nachfolgend ein Beispiel; weitere Möglichkeiten werden im Zusammenhang mit Vererbung besprochen.