"Какие все вууумные, аж противно." (с)
![Ага](/Smileys/test/wink.gif)
А вас, челы вопрошающие, не смущает в первую очередь тот факт, что, например, указатель data не инициаллизирован? Те, как правильно заметил
PredatorAlpha, будем освобождать память по адресу "мусор".
![Ага](/Smileys/test/wink.gif)
разве память, что выделилась объекту, зачищается нулями до вызова любых конструкторов??
В дебагере - да. Всё обнуляется.
Ну и зачем это всё сделано? Дело в том, доргие амигосы и мучачосы, что код в статьях и/или книгах не является 100% рабочим кодом, с логичным исполнением. Он служит исключительно для иллюстрации содержания, в данном случае для демонстрации смысловой идентичности оператора присваивания (в котором освобождение памяти не вызывает вопросов) и конструктора копирования. Пример показывает некие действия, которые можно/необходимо выполнить, чтобы подготовить объект к приёму данных из другого объекта. Конечно, правильно было бы в конструктор добавить сначала инициаллизацию объектов-членов, но это уже, как говорится, будем проходить на следующем уроке.
![Ага](/Smileys/test/wink.gif)
Ну как-то так. Надеюсь прояснил.