b'\n_START_ARTICLE_\nDestructor (informatica)\n_START_PARAGRAPH_\nEen destructor is in sommige object-geori\xc3\xabnteerde programmeertalen een soort methode van een klasse die wordt aangeroepen net voordat een instantie van die klasse uit het geheugen verwijderd wordt. Niet alle object-geori\xc3\xabnteerde programmeertalen kennen een destructor: C++ heeft bijvoorbeeld wel destructors, maar Java weer niet._NEWLINE_De tegenhanger van een destructor is een constructor die uitgevoerd wordt wanneer het object wordt aangemaakt.\n_START_SECTION_\nVoorbeeld\n_START_PARAGRAPH_\nIn C++ ziet een destructor er zo uit:_NEWLINE__NEWLINE_#include <iostream>_NEWLINE_using namespace std;_NEWLINE__NEWLINE_class Shape {_NEWLINE_    public:_NEWLINE_      Shape() {_NEWLINE_        cout << "Shape" << endl;_NEWLINE_      }_NEWLINE_      _NEWLINE_      virtual ~Shape() {_NEWLINE_        cout << "~Shape" << endl;_NEWLINE_      }_NEWLINE_};_NEWLINE__NEWLINE_class Circle: public Shape {_NEWLINE_    public:_NEWLINE_      Circle() {_NEWLINE_        cout << "Circle" << endl;_NEWLINE_      }_NEWLINE_      _NEWLINE_      virtual ~Circle() {_NEWLINE_        cout << "~Circle" << endl;_NEWLINE_      }_NEWLINE_};_NEWLINE__NEWLINE_int main(int argc, char** argv) {_NEWLINE_    Shape* shape = new Circle();_NEWLINE_    cout << "Shape gemaakt" << endl;_NEWLINE_    delete shape;_NEWLINE_    cout << "Shape verwijderd" << endl;_NEWLINE_}_NEWLINE_De uitvoer van dit programma is dan ook:_NEWLINE__NEWLINE_Shape_NEWLINE_Circle_NEWLINE_Shape gemaakt_NEWLINE_~Circle_NEWLINE_~Shape_NEWLINE_Shape verwijderd_NEWLINE_De \'methodes\' met de tilde (~) ervoor zijn in C++ destructors. Omdat ze virtual zijn, wordt de destructor van Shape aangeroepen nadat die van Circle is aangeroepen.'