Destructeurs en C++
Destructeurs en C++ est une fonction membre spéciale qui est exécutée automatiquement lorsqu’un objet est détruit et qui a été créé par le constructeur. Les destructeurs en C++ permettent de désallouer la mémoire allouée à l’objet par le constructeur.
Structure de destructeurs en C++
class maClasse { public: maClasse(); //constructeur. ~maClasse(); //destructeurs. }
Exemple de destructeur en C++
#include <iostream> using namespace std; class Message{ public: //Constructeur Message(){ cout << "Constructeur est appelé" << endl; } //Destructeur ~Message(){ cout << "Destructeur est appelé" << endl; } //Fonction membre void afficher(){ cout << "Bienvenu sur WayToLearnX!" << endl; } }; int main(){ //Objet créé Message msg; //Fonction appelée msg.afficher(); return 0; }
La sortie :
Constructeur est appelé Bienvenu sur WayToLearnX! Destructeur est appelé
Règles de destructeur
- Le nom doit commencer par le signe tilde (~) et doit correspondre au nom de la classe.
- On peut pas avoir plus d’un destructeur dans une classe.
- Contrairement aux constructeurs qui peuvent avoir des paramètres, les destructeurs n’ont pas de paramètre.
- Ils n’ont aucun type de retour, comme les constructeurs.
- Lorsque vous ne spécifiez aucun destructeur dans une classe, le compilateur génère un destructeur par défaut et l’insère dans votre code.