Деструкторы, как следует из их названия, уничтожают объекты
класса, созданные перед этим конструктором, очищая значения и освобождая память. Деструкторы наследуют имена своих классов, с добавлением лидирующего знака тильда '~':
class sber_bank {
private:
double big_bucks;
public:
sber_bank(double bucks); < Конструктор
~sber_bank(void); < Деструктор
void deposit(double bucks);
double withdraw(double bucks);
};
В объявленном выше классе деструктор определяется так:
Селектор
Используемый класс Имя деструктора
v v v
sber_bank :: ~sber_bank(void)
{
printf("Машина останавливается \n");
}
Деструктор также можно объявлять встроенным:
class sber_bank {
private:
double big_bucks;
public:
// Встроенный конструктор
sber_bank(double bucks) { big_bucks = bucks; }
// Встроенный деструктор
~sber_bank(void) {printf("Машина останавливается ...\n");}
void deposit(double bucks);
double withdraw(double bucks);
};