Деструктор (програмування)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Деструктор — спеціальний метод класу, призначений для деініціалізації об'єкта (наприклад звільнення пам'яті).

Призначення[ред.ред. код]

Призначення деструктора — вивільняти стан об'єкта шляхом вивільнення ресурсів, що використовувались об'єктом, як-то: вивільнення пам'яті, закриття файлів, відправлення повідомлень іншим об'єктам тощо.

Деструктор не має типу.

Деструктори не успадковуються, але можуть бути віртуальними.

C++[ред.ред. код]

В C++ деструктор не може приймати аргументів. В прикладі деструктор вивільняє пам'ять, виділену конструктором.

class Foo {
 public:
  // Типовий конструктор
   Foo(const char *name) { m_len = strlen(name); m_name = new char[m_len+1]; strcpy(name, m_name); m_name[m_len] = '\0'; }
  // Деструктор
   ~Foo() { delete [] m_name; }
 
  private:
    int m_len;
    char *m_name;
};

Посилання[ред.ред. код]

Див. також[ред.ред. код]