Итак, у вас есть ошибка в вашем конструкторе копирования. После выполнения конструктора копирования два числа будут делиться одним и тем же массивом цифр. Это означает, что при вызове деструкторов одна и та же память будет удалена дважды, что приведет к ошибке кучи.
Вы должны написать свой код, чтобы каждый Number
получал свой собственный массив di git при любых обстоятельствах. .
Вам также не хватает оператора присваивания, что означает, что та же проблема произойдет, если вы назначите один номер другому.
Некоторое дальнейшее чтение на этом самом важный topi c.
Обратите внимание, что функция publi c setArr
, которая позволяет любому установить массив di git для Number
, в корне неверна, поскольку означает, что вы не можете знать, где массив определенного числа пришел, и поэтому вы не можете безопасно удалить этот массив. То же самое касается конструктора, который принимает массив di git в качестве параметра.