(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;