Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Qu'est-ce Qu'un Destructeur de la Classe | Constructeurs et Destructeurs
C++ Oop
course content

Contenu du cours

C++ Oop

C++ Oop

1. Fondamentaux de la POO en C++
2. Constructeurs et Destructeurs
3. Aperçu de l'Encapsulation
4. Aperçu de l'Héritage
5. Aperçu du Polymorphisme

book
Qu'est-ce Qu'un Destructeur de la Classe

Syntaxe du Destructeur

Bien qu'ils aient des objectifs opposés, créer un destructeur est très similaire à créer un constructeur. Ils partagent presque les mêmes principes de déclaration. L'approche générale pour en créer un est :

  • Nom : Il a le même nom que la classe, mais est précédé d'un tilde (~).
  • Pas de type de retour : Il n'a pas de type de retour, même pas void.
  • Pas de paramètres : Il ne peut pas prendre de paramètres.
  • Invocation automatique : Il est appelé automatiquement par le compilateur lorsque l'objet sort de portée ou est explicitement supprimé.

Invocation automatique des destructeurs

L'invocation automatique des destructeurs fait référence à l'appel automatique du destructeur. Cela garantit que les ressources détenues par l'objet sont correctement libérées, aidant ainsi à prévenir les fuites de mémoire et de ressources.

cpp

scope

cpp

delete

cpp

termination

copy
123456
int main() { { Example obj; // Object created } // Object goes out of scope here, destructor is invoked }
  • Quand un objet sort de portée.
  • Lorsque l'opérateur delete est utilisé pour supprimer des objets alloués dynamiquement.
  • Lorsque le programme se termine.

Le Besoin de Destructeurs

Le but principal d'un destructeur est de libérer les ressources acquises par l'objet pendant sa durée de vie. Cela inclut la fermeture des descripteurs de fichiers, la désallocation de la mémoire (en utilisant new) ou des tâches similaires.

cpp

ResourceHolder

cpp

FileHandler

copy
123456789101112
class ResourceHolder { public: DynamicArray(int size) { data = new int(100); } ~DynamicArray() { delete data; } private: int* data; };

1. Quel est le but principal d'un destructeur ?

2. Quelle est la syntaxe pour déclarer un destructeur ?

Quel est le but principal d'un destructeur ?

Quel est le but principal d'un destructeur ?

Sélectionnez la réponse correcte

Quelle est la syntaxe pour déclarer un destructeur ?

Quelle est la syntaxe pour déclarer un destructeur ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 7
We're sorry to hear that something went wrong. What happened?
some-alt