Чтобы вручную заставить сработать деструктор класса, объект которого был создан в main, можно создавать его с помощью оператора new и удалять с помощью оператора delete. 1 В этом случае деструктор сработает в момент удаления объекта. 1
Также можно принудительно вызвать деструктор с помощью синтаксиса obj.~ClassName()
. 4 Однако это не рекомендуется делать без необходимости, так как в большинстве случаев может привести к двойному освобождению ресурсов. 4
Если объект статический, то его деструктор вызывается автоматически при завершении программы (если завершение нормальное). 2
Ещё один способ — создать объект с помощью оператора new, а перед выходом из программы вызвать для него оператор delete. 4 В этом случае деструктор сработает в момент вызова оператора delete. 4