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 Constructeur de la Classe | Constructeurs et Destructeurs
Programmation Orientée Objet en C++
course content

Contenu du cours

Programmation Orientée Objet en C++

Programmation Orientée Objet en C++

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 Constructeur de la Classe

Note
Définition

Constructeur est une méthode spéciale d'une classe qui est appelée lors de la création d'un objet. Elle permet d'initialiser les attributs avec des valeurs significatives.

L'utilisation des constructeurs permet de simplifier la création des objets. Sans constructeur, il serait nécessaire d'attribuer chaque propriété individuellement et il pourrait être requis d'appeler plusieurs méthodes simplement pour rendre l'objet utilisable.

L'objectif principal d'un constructeur est d'initialiser l'instance nouvellement créée. Il peut définir les valeurs initiales des attributs en fonction des paramètres passés au constructeur, garantissant ainsi que l'objet commence dans un état valide.

Syntaxe du constructeur

Bien que le développement d'un constructeur puisse sembler simple, il implique de nombreuses considérations spécifiques. L'approche générale pour en créer un est la suivante :

student.h

student.h

copy
12345678
class Student { public: Student() { name = 'Default'; } std::string name; };
  • Nom : le constructeur porte le même nom que la classe elle-même ;

  • Type de retour : les constructeurs n'ont pas de type de retour, même pas void ;

  • Paramètres : les constructeurs peuvent prendre des paramètres et peuvent être surchargés avec différents ensembles de paramètres pour permettre diverses façons d'initialiser les objets ;

  • Appel automatique : le constructeur est appelé automatiquement par le compilateur lors de la création d'un objet.

Constructeur par défaut

Un constructeur par défaut est un constructeur qui peut être invoqué sans aucun argument. Voici comment les constructeurs par défaut sont définis et utilisés :

main.cpp

main.cpp

copy
1234567891011121314
#include <iostream> class Example { public: Example() { std::cout << "Object was created!"; } }; int main() { Example obj; }

Vous pouvez expérimenter avec le code ci-dessus. La logique écrite dans la méthode Example() est exécutée à chaque fois qu'une instance de la classe est créée.

Note
Remarque

Essayez d'ajouter un autre objet ou de modifier la logique à l'intérieur du constructeur.

Si aucun constructeur n'est défini, le compilateur en génère un par défaut. Son comportement dépend des types des variables membres : types fondamentaux, types constructibles par défaut ou types définis par l'utilisateur.

main.cpp

main.cpp

copy
123456789101112
#include <iostream> class Example { public: int value; }; int main() { Example obj; // Default constructor std::cout << obj.value; }

Un attribut est un type de donnée fondamental. Le constructeur par défaut généré automatiquement n'initialise pas les variables membres de type natif. Elles auront des valeurs indéterminées si vous créez un objet sans initialiser explicitement ces champs.

Note
Remarque

Vous pourriez constater que le compilateur fournit une valeur cohérente pour la variable value, mais la norme ne l'exige pas et il est possible qu'elle contienne une valeur indéfinie.

question mark

Quand le constructeur est-il appelé ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 1

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

course content

Contenu du cours

Programmation Orientée Objet en C++

Programmation Orientée Objet en C++

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 Constructeur de la Classe

Note
Définition

Constructeur est une méthode spéciale d'une classe qui est appelée lors de la création d'un objet. Elle permet d'initialiser les attributs avec des valeurs significatives.

L'utilisation des constructeurs permet de simplifier la création des objets. Sans constructeur, il serait nécessaire d'attribuer chaque propriété individuellement et il pourrait être requis d'appeler plusieurs méthodes simplement pour rendre l'objet utilisable.

L'objectif principal d'un constructeur est d'initialiser l'instance nouvellement créée. Il peut définir les valeurs initiales des attributs en fonction des paramètres passés au constructeur, garantissant ainsi que l'objet commence dans un état valide.

Syntaxe du constructeur

Bien que le développement d'un constructeur puisse sembler simple, il implique de nombreuses considérations spécifiques. L'approche générale pour en créer un est la suivante :

student.h

student.h

copy
12345678
class Student { public: Student() { name = 'Default'; } std::string name; };
  • Nom : le constructeur porte le même nom que la classe elle-même ;

  • Type de retour : les constructeurs n'ont pas de type de retour, même pas void ;

  • Paramètres : les constructeurs peuvent prendre des paramètres et peuvent être surchargés avec différents ensembles de paramètres pour permettre diverses façons d'initialiser les objets ;

  • Appel automatique : le constructeur est appelé automatiquement par le compilateur lors de la création d'un objet.

Constructeur par défaut

Un constructeur par défaut est un constructeur qui peut être invoqué sans aucun argument. Voici comment les constructeurs par défaut sont définis et utilisés :

main.cpp

main.cpp

copy
1234567891011121314
#include <iostream> class Example { public: Example() { std::cout << "Object was created!"; } }; int main() { Example obj; }

Vous pouvez expérimenter avec le code ci-dessus. La logique écrite dans la méthode Example() est exécutée à chaque fois qu'une instance de la classe est créée.

Note
Remarque

Essayez d'ajouter un autre objet ou de modifier la logique à l'intérieur du constructeur.

Si aucun constructeur n'est défini, le compilateur en génère un par défaut. Son comportement dépend des types des variables membres : types fondamentaux, types constructibles par défaut ou types définis par l'utilisateur.

main.cpp

main.cpp

copy
123456789101112
#include <iostream> class Example { public: int value; }; int main() { Example obj; // Default constructor std::cout << obj.value; }

Un attribut est un type de donnée fondamental. Le constructeur par défaut généré automatiquement n'initialise pas les variables membres de type natif. Elles auront des valeurs indéterminées si vous créez un objet sans initialiser explicitement ces champs.

Note
Remarque

Vous pourriez constater que le compilateur fournit une valeur cohérente pour la variable value, mais la norme ne l'exige pas et il est possible qu'elle contienne une valeur indéfinie.

question mark

Quand le constructeur est-il appelé ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 1
some-alt