Деструктор (программирование)
Материал из Википедии — свободной энциклопедии
Дестру́ктор — специальный метод класса, служащий для удаления объекта из памяти.
Содержание |
[править] Деструктор в Delphi
Для объявления деструктора в Delphi используется ключевое слово destructor
. Имя деструктора может быть любым, но рекомендуется всегда называть деструктор Destroy
.
TClassWithDestructor = class destructor Destroy; override; end;
В Delphi все классы я вляются потомками, по крайней мере, класса TObject, поэтому, для корректного освобождения памяти, необходимо перекравать деструктор, используя дерективу override
.
В Delphi прямой вызов деструктора используется редко. Вместо него используют метод Free
.
MyObject.Free;
Метод Free
вначале проверяет существует ли уничтожаемый объект, а затем вызывает деструктор. Этот прием позволяет избегать ошибок, возникающих при обращении к несуществующему объекту.
[править] Деструктор в С++
class NameOfClass{
public:
NameOfClass(int m);
~NameOfClass();
int a;
};
NameOfClass::~NameOfClass(){
cout<<a<<"\n";
}
NameOfClass::NameOfClass(int m){
a=m;
}
~NameOfClass() - деструктор, имеет имя ~имя_класса, не имеет входных параметров.
В данном случае при уничтожении объекта выводит в консоль параметр a.