Деструктор
Це спеціальна функція класу, яка знищує об’єкт, як тільки закінчується область його дії. Деструктор компілятором автоматично викликається, коли об’єкт виходить з області видимості.
Синтаксис для деструктора такий же, як і для конструктора, однак ім’я класу використовується в даному випадку для нього зі знаком тільди “~” в якості префікса.
Наступний приклад на мові C++ пояснює поняття деструктора:
#include <iostream>
using namespace std;
class Line {
public: void setLength( double len );
double getLength( void );
Line(); // Оголошення конструктора
~Line(); // Оголошення деструктора
private: double length;
}
// Визначення функцій, включаючи конструктор
Line::Line(void) {
cout << “Об’єкт створений” << endl;
}
Line::~Line(void) {
cout << “Об’єкт віддалений” << endl;
}
void Line::setLength( double len ) {
length = len;
}
double Line::getLength( void ) {
return length;
}
// Тіло програми
int main() {
Line line;
// Довжина рядка
line.setLength(6.0);
cout << “Length of line :” << line.getLength() <<endl;
return 0;
}
Коли приведений вище код скомпільовано і виконаний, він дасть наступний результат:
Об’єкт створений
Length of line: 6
Об’єкт віддалений