Proprietăți de bază și reguli pentru utilizarea distrugătorilor:
- O clasă poate avea doar un singur distrugător;
- Distrugătorul are același nume ca și clasa în care este declarat, cu prefixul tilde (
- Distructorul nu are parametri (argumente);
- distrugătorul nu întoarce o valoare (chiar de tip void);
- constructorii nu pot fi declarați ca const sau statici;
- Distrugătorul nu este moștenit în clasele derivate. Dar o clasă derivată poate numi destructori pentru clasele părinte (părinte);
- Un destructor este o funcție și poate fi virtual (poate fi declarat cu cuvântul cheie virtual);
- Dacă destructorul nu este specificat în program, acesta va fi generat automat de compilator pentru a distruge obiectele corespunzătoare. Toate distrugătorii generați în acest fel au atributul public;
- Distrugatorul poate fi numit în același mod ca o funcție normală, dacă folosiți numele său complet. De exemplu, X * p; p-> X :: X ()
- Distrugătorul se numește automat numai prin distrugerea (distrugerea) obiectului;
- obiectul care conține distrugătorul nu poate fi inclus ca o componentă în uniune;
- când se apelează funcția de ieșire din bibliotecă, sunt numiți numai destructori pentru obiecte globale;
- atunci când apelați funcția de bibliotecă întrerupe, nu sunt chemați distrugători;
- dacă memoria obiectului este alocată prin pointer cu ajutorul noului operator, atunci când existența acestui indicator se oprește, obiectul nu se prăbușește automat. Pentru a distruge un obiect din program, trebuie să utilizați operatorul de ștergere.