Использование деструктора
При выгрузке объекта из памяти автоматически вызывается метод, который называется деструктором. Деструкторы, как и конструкторы, можно явно описывать при создании класса. Правила создания деструкторов еще более консервативны, чем правила создания конструкторов. Они следующие: имя деструктора совпадает с именем класса, но перед именем де структора указывается символ «тильда» ~;
тип результата для деструктора не указывается (как и для контруктора); у деструктора нет аргументов. Из перечисленных правил следует, что деструктор не может быть перегружен: у перегруженных функций и методов должны совпадать названия, но отличаться прототипы. У деструктора имя определено однозначно, аргументов нет, результата нет, поэтому нет технической возможности к тому,
чтобы создать в одном классе деструкторы с разными прототипами. В листинге ниже приведен пример использования деструктора.
#includeusing namespace std; class MyClass{ public: int m,n; //Конструктор класса: MyClass(){ m=0; n=0; cout << "Object has been created" << endl;} //Деструктор класса: ~MyClass(){ cout << "Object has been deleted" << endl;} }; int main(){ MyClass obj; return 0; }