Я думаю, что проблема в том, что нигде в вашем коде не установлено used
для чего-либо, кроме 0, поэтому при циклическом переходе от 0 до used
ничего не копируется.
Вы хотите установить used
при назначении элемента в operator[]
?
Кроме того, если необходимо определить деструктор и оператор присваивания копии, тогда вам обычно (и в этом случае) также необходимо предоставить конструктор копирования.