Open WAG13 opened 4 years ago
Якщо об'єкт класу містить динамічно виділену пам'ять, або файли, то в деструкторі слід прописати звільнення виділеної пам'яті.
Звільнення динамічної пам'яті, наприклад:
class Massiv
{
private:
int *m_array;
int m_length;
public:
Massiv(int length) // конструктор
{
assert(length > 0);
m_array = new int[length];
m_length = length;
}
~Massiv() // деструктор
{
delete[] m_array ;
}
Звільнення(delete) динамічної пам'яті,яка створюється за допомогою new.
Звільнення динамічної пам'яті за допомогою оператора delete, закрити файли, які були відкриті в даному об'єкті і надалі непотрібні.
Якщо об'єкт містить якість поля що були створені за допомогою new, то усю динамічну пам'ять треба звільнити за допомогою delete, а також закрити відкриті потоки
Необхідно прописати звільнення динамічної пам'яті (якщо потрібно) за допомогою delete
Якщо методах об'єктів класу відбувається виділення динамічної пам'яті(new), то у деструкторі ії треба звільнити(delete)