kopieerconstructor
Een kopieerconstructor, ook wel copy constructor genoemd, is een constructor die een nieuw object initialiseert als kopie van een bestaand object. In C++ wordt de kopieerconstructor doorgaans herkend aan de handtekening ClassName(const ClassName& other). De kopieerconstructor wordt aangeroepen bij het initialiseren van een object uit een bestaand object, bij het doorgeven van een object als parameter door waarde, en bij het teruggeven van een object als waarde uit een functie.
Standaard biedt de compiler een kopieerconstructor die elk lidveld kopieert in wat men een shallow copy noemt.
In C++ is dit onderdeel van wat soms de “regel van drie” of “regel van vijf” wordt
Als kopiëren niet toegestaan is, kun je de kopieerconstructor verwijderen of privé maken (of =delete gebruiken
Voorbeeld (C++): class Voorbeeld { public: int* data; Voorbeeld(int v=0): data(new int(v)) {} Voorbeeld(const Voorbeeld& other): data(new int(*other.data))