(w języku C++): class MojaKlasa{ public: int dana; MojaKlasa(int parametrDomyslny) { // inny konstruktor użytkownika this->dana = parametrDomyslny;
int main (){ MojaKlasa obiektMojejKlasy(5); MojaKlasa kopiaObiektu(obiektMojejKlasy); // użyty zostanie wygenerowany niejawnie konstruktor kopiujący std::cout << kopiaObiektu.dana; // wyświetli "5" return 0; }
Zablokowanie tego konstruktora (np. przez umieszczenie go w sekcji prywatnej lub chronionej) oznacza brak zezwolenia na kopiowanie obiektu.
Kopiowanie obiektu składnik po składniku W większości przypadków kopiowanie obiektu składnik po składniku jest tym, czego oczekuje użytkownik klasy i nie ma potrzeby definiowania własnej wersji konstruktora kopiującego. Jednak nie zawsze takie działanie jest pożądane (przykład w C++): class MojaKlasa { public: int* wsk; // wskaźnik MojaKlasa(int parametrDomyslny){ this->wsk = new int(parametrDomyslny);
~MojaKlasa(){ // destruktor delete this->wsk;