if elem_destination elem_source delete array elem_destination не нужна

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
if(elem_destination != elem_source)
{
delete array[elem_destination];
//не нужна-> tempOctal = new Octal(array[elem_source]);
//было так: array[elem_destination] = new Octal(array[elem_source]);
/*а надо так:*/ array[elem_destination] = new Octal(*array[elem_source]);
}
/*А всё почему? А потому что конструктор копирования имеет прототип ClassName(const ClassName& object)
Значит ему нужна ссылка на объект, а не указатель. По ссылке может передаваться и сам объект.
*/