Разница между конструктором копирования и деструктором в C++ заключается в их назначении:
Таким образом, конструктор копирования создаёт новый объект, а деструктор отвечает за уничтожение уже существующего. 3
Если явно в классе деструктор программистом не определён, то компилятор генерирует его сам. 1 Если же определён конструктор копирования, то деструктор будет вызван дважды для копий: один раз для содержащих копию объектов и во второй раз — для объектов, из которых копируются элементы данных. 4