Деструктор (от destruct — разрушать) — особый метод класса, противоположный конструктору, срабатывающий во время уничтожения объектов класса. Чаще всего его роль заключается в том, чтобы освободить динамическую память, которую выделял конструктор для объекта. Имя его, как и у конструктора, должно соответствовать имени класса. Только перед именем надо добавить символ "~". Пример #include <iostream> using namespace std; class Base { String name; public: Base() { cout <<"Construct Base object\n"; } //конструктор без параметров Base(String name) { cout <<"Construct Base object\n"; //конструктор с параметрами this->name = name; } ~Base() { cout << "Destruct Base object\n"; } //деструктор } int main(int argc, char *argv[]) { String name; cin >> name; Base obj1; //создание объекта с помощью первого конструктора obj1->~Base(); //принудительный вызов деструктора Base obj2(name); //создание объекта с помощью второго конструктора // объект obj2 будет уничтожен ввиду неявного вызова деструктора return 0; } |