Деструктор класса
Обычно нет необходимости реализовывать деструктор класса, поскольку по умолчанию освобождаются все ресурсы, которыми располагает объект при его уничтожении. Однако могут возникнуть ситуации, когда при уничтожении объекта необходимо выполнить более явную процедуру очистки.
Деструктор объявляется так же, как и конструктор по умолчанию, за исключением того, что перед ним должен стоять символ ~
.
Обратите внимание, что управление памятью с помощью сборки мусора не даёт легко предсказать, когда будет выполнен деструктор.
Деструктор будет вызван только один раз, даже если объект будет воскрешен путем добавления ссылки на него во время выполнения деструктора.
Невозможно напрямую вызвать деструктор. Если вам нужно иметь возможность напрямую вызывать деструктор, то для этого следует реализовать публичный метод.