Во-первых, будем надеяться, что это для упражнения, в противном случае std::forward_list<int>
кажется гораздо более адекватным (и vector<int>
, вероятно, будет лучше).
Во-вторых, роль деструктора заключается просто ввыполнить код, который вы вставили в него, который здесь о высвобождении ресурсов, полученных follower
.
. Вызов delete follower
делает две вещи:
- он вызывает деструктор
follower
- затем освободить память, в которой хранилась
follower
Без вызова delete
произошла утечка памяти.
Примечания:
- Вашему классу не хватает конструктора копирования и оператора присваивания
- В
main
нет необходимости в new
экземпляреA
.