Introduction au constructeur et au destructeur en C ++

  • Constructor et Destructor en C ++ jouent un rôle important dans un langage de programmation orienté objet comme C ++. Comme nous avons Class et ses objets en C ++ lors de la création du nouvel objet à chaque fois, le constructeur peut être utilisé pour initialiser l'objet, tandis que lorsque l'objet est sur le point de détruire, le destructeur peut être utilisé pour effectuer les post-opérations requises.
  • Lorsque nous créons un objet d'une classe en C ++, nous pouvons vouloir initialiser les champs de classe avec des valeurs par défaut ou certaines valeurs. Une classe a ses champs et ses méthodes. Les champs sont principalement des variables ou des objets. En attribuant des valeurs par défaut à ces champs, nous facilitons notre programmation. Le constructeur est comme une fonction normale dans la classe et le compilateur l'appelle automatiquement lorsque nous créons un nouvel objet de cette classe. Lors de la création de l'objet, nous transmettons en fait les valeurs requises en tant qu'argument à l'objet, ces arguments sont transmis au constructeur de la classe. Les valeurs d'argument peuvent maintenant être affectées aux champs correspondants, qui sont disponibles en classe. De plus, nous pouvons attribuer des valeurs par défaut aux champs où nous ne transmettons pas les arguments. Il existe en tant que tels différents types et façons par lesquels nous initialisons le constructeur en C ++.
  • Le constructeur est comme une fonction membre spéciale d'une classe. Chaque fois que nous créons un nouvel objet, le constructeur est exécuté. La syntaxe d'un constructeur est très simple, la fonction aura le même nom que celui de classe dans laquelle elle est définie et elle n'aura aucun type de retour, pas même void. Les constructeurs sont très utiles pour attribuer des valeurs particulières à certains membres de la classe. Le constructeur peut être utilisé pour effectuer une logique liée aux classes au moment de l'instanciation.

Syntaxe du constructeur

class Box (
public:
int height;
//constructor
Box () (
// member initialization
)
)

Le destructeur en C ++ est également une fonction membre spéciale de la classe. Le destructeur est appelé automatiquement par le compilateur et est exécuté chaque fois que l'objet de cette classe particulière sort de la portée ou qu'il est supprimé à l'aide de l'expression de suppression du pointeur de cet objet. Chaque fois que l'objet est détruit par un compilateur, le destructeur est appelé. Dans destructor, nous pouvons exécuter des instructions qui peuvent être tout ce que nous voulons exécuter lorsque l'objet sort de la portée. Les post-opérations comme la fermeture de connexions, la fermeture de fichiers, etc. sont quelques-uns des exemples que nous pouvons effectuer dans le destructeur.

Syntaxe de destructeur

class Box (
public:
int height;
//destructor
~Box () (
// post statements
)
)

La syntaxe du destructeur est très similaire au constructeur. Il aura le même nom que celui de la classe dans laquelle il est défini et n'aura pas de type de retour. Cependant, il aura juste le signe ~ (tilde) devant le nom du destructeur. Habituellement, le destructeur est utilisé pour désallouer la mémoire allouée dynamiquement pour la classe et ses membres. Les destructeurs sont très utiles pour effectuer des post-opérations, qui peuvent être effectuées après la logique métier.

Pourquoi avons-nous besoin d'un constructeur et d'un destructeur en C ++?

C ++ est un langage de programmation orienté objet. Dans tout langage de programmation orienté objet, nous mappons des entités réelles originales avec la classe et les objets.

Comprenons pourquoi avons-nous besoin d'un constructeur et d'un destructeur en C ++ par exemple réel. Supposons que nous ayons une entité Box et que nous ayons créé une classe pour celle-ci et qu'elle contienne également des objets qui peuvent être utilisés dans d'autres parties. Maintenant, la boîte aura certains paramètres comme la hauteur, la longueur, la largeur, etc. et chaque fois que nous créons un objet de classe Box, nous voulons qu'il prenne une valeur par défaut. Disons que pour la hauteur, cet objectif peut être atteint en affectant une valeur par défaut particulière à la hauteur dans le constructeur de cette classe. De même, pour d'autres paramètres, des valeurs peuvent également être attribuées. Après avoir utilisé l'objet de Box, disons que nous voulons une action particulière immédiatement ou appelons une fonction. Cela peut être fait en utilisant Destructor en C ++. Les instructions requises seront ajoutées au destructeur de cette classe. Ce sont les avantages en temps réel d'avoir un constructeur et un destructeur en C ++.

Comment les constructeurs et destructeurs fonctionnent-ils en C ++?

Comme expliqué précédemment, le constructeur est appelé par le compilateur chaque fois qu'un objet est créé. Si nous ne définissons pas de constructeur, le compilateur C ++ génère automatiquement un constructeur par défaut pour nous. Le constructeur est utilisé pour allouer la mémoire si nécessaire et pour construire l'objet de classe alors qu'un destructeur est utilisé pour effectuer le nettoyage requis lorsqu'un objet est détruit. Le destructeur est appelé automatiquement par le compilateur lorsqu'un objet est détruit. Si nous ne définissons pas notre propre destructeur, le compilateur C ++ crée un destructeur par défaut.

Créer un constructeur et un destructeur en C ++? (Exemples)

1. Exemple de constructeur

Prenons le même exemple de classe Box pour déclarer le constructeur. Attribuons des valeurs par défaut à la hauteur et au poids de la boîte.

Code

class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
)

Ainsi, chaque fois que l'objet de cette classe est créé, il retournera l'objet de type Box avec les valeurs par défaut définies ci-dessus.

2. Exemple de destructeur

Chaque fois que l'objet de Box sortira du cadre, nous imprimerons du texte sur la console dans notre exemple. En fait, le codage peut entraîner toute activité spécifique.

Code

class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
//destructor
~Box () (
// post statements
cout << “Box Object is being deleted.” << endl;
)
)

Ainsi, chaque fois que l'objet de Box sort du cadre, le compilateur imprime le texte tel que défini ci-dessus sur la console.

Conclusion

Ainsi, Constructor et Destructor jouent un rôle important dans le langage de programmation orienté objet. Un constructeur est utilisé pour initialiser l'objet et le destructeur est utilisé lors de la destruction de l'objet. Le constructeur et le destructeur sont très utiles lors de la programmation en langage C ++.

Articles recommandés

Ceci est un guide du constructeur et du destructeur en C ++. Ici, nous discutons des besoins du constructeur et du destructeur en C ++, comment utiliser, différentes syntaxes et exemples. Vous pouvez également consulter nos autres articles connexes pour en savoir plus-

  1. Fonctions de tableau C ++
  2. Copier le constructeur en C ++
  3. Introduction au C ++
  4. Types de constructeur en C
  5. Guide du destructeur en C #
  6. Destructeur en PHP avec des exemples