Класи ООП. Об’єктно-орієнтоване програмування

Деструктор

Це спеціальна функція класу, яка знищує об’єкт, як тільки закінчується область його дії. Деструктор компілятором автоматично викликається, коли об’єкт виходить з області видимості.

Синтаксис для деструктора такий же, як і для конструктора, однак ім’я класу використовується в даному випадку для нього зі знаком тільди “~” в якості префікса.

Наступний приклад на мові 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

Об’єкт віддалений