Я относительно новичок в C ++ (и программировании в целом), поэтому, пожалуйста, прости меня, если вопрос не совсем понятен сразу.
У меня есть программа, в которой создано определенное количество объектов внутренне определенного класса [назовем это "class1"].
Программа отлично работает, и объекты делают то, что должны.
Проблема, которую я сейчас пытаюсь решить, заключается в следующем: эти объекты не уничтожаются (и, следовательно, память не выделяется) до завершения программы, но эта память мне нужна раньше.
Среди других членов класса есть объекты других внутренне определенных классов (у которых также есть члены, которые являются объектами третьего класса).
Мой вопрос заключается в следующем: как правильно определить деструктор для объектов «class1», чтобы все данные были отменены и память была освобождена?
Я обнаружил (возможно, это уже было очевидно для вас), что деструктор типа
class1::~class1(void) {
}
не будет работать (я определил похожие деструкторы для всех внутренних классов).
Читая вокруг, я понял, что моя ошибка может быть в том, что это деструктор, который ничего не делает. Как мне это решить?
Спасибо всем, кто ответит / поможет / прокомментирует.
Federico