Деструктор базового класса может отвечать за очистку ресурсов, выделенных конструктором базового класса.
Если ваш базовый класс имеет конструктор по умолчанию (тот, который не принимает параметры или имеет значения по умолчанию для всех его параметров), этот конструктор автоматически вызывается при построении производного экземпляра.
Если ваш базовый класс имеет конструктор, который требует параметров, вы должны вызвать его вручную в списке инициализатора конструктора производного класса.
Ваш деструктор базового класса всегда будет вызываться автоматически при удалении производного экземпляра, поскольку деструкторы не принимают параметры.
Если вы используете полиморфизм и на ваш производный экземпляр указывает указатель базового класса, то деструктор производного класса вызывается только в том случае, если базовый деструктор является виртуальным.