Konstruktor kopiujący to specjalna metoda, która tworzy nowy obiekt będący kopią innego obiektu tej samej klasy. Jest to kluczowy mechanizm w programowaniu obiektowym, ponieważ umożliwia tworzenie nowych instancji bez konieczności ręcznego przypisywania wartości pól. Konstruktor kopiujący zapewnia spójność i integralność danych, co jest niezbędne w przypadku obiektów zawierających wskaźniki lub dynamicznie alokowaną pamięć.
Standardowe konstruktory bez parametrów nie tworzą kopii istniejących obiektów, a jedynie inicjalizują nową instancję. Konstruktory przyjmujące typy proste służą do ustawiania początkowych wartości pól, ale nie kopiują obiektów. Metody inicjalizujące służą do przypisywania wartości po utworzeniu obiektu, lecz nie są to konstruktory kopiujące.