Kopierkonstruktor
Nach oben zu Konstruktoren - Index
Ein Kopierkonstruktor für class X kann mit einem einzelnen Argument vom Typ X wie folgt aufgerufen werden:
X::X(X&)
oder
X::X(const X&)
oder
X::X(const X&, int = 0)
In einem Kopierkonstruktor sind auch Standardargumente erlaubt. Kopierkonstruktoren werden zum Initialisieren eines Klassenobjekts eingesetzt - typischerweise, wenn Sie ein Objekt durch Initialisierung mit einem anderen Klassenobjekt deklarieren:
X x1;
X x2 = x1;
X x3(x1);
Der Compiler generiert einen Kopierkonstruktor für class X, wenn einer benötigt wird und in class X keiner definiert wurde. Der vom Compiler generierte Kopierkonstruktor ermöglicht einen sicheren Einstieg in das Programmieren mit einfachen Datentypen. Sie müssen Ihren eigenen Kopierkonstruktor nur definieren, wenn Ihr Programm zusammengesetzte, komplexe Typen, wie beispielsweise class, struct und Arrays, erzeugt. Bei der Verwendung einer Klasse als Funktionsparameter mit Wertübergabe wird ebenfalls der Kopierkonstruktor aufgerufen.
Siehe auch Zuweisungsoperatoren. Sie sollten den Kopierkonstruktor definieren, wenn Sie den Zugriffsoperator überladen.