This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
in204:constructor:default [2019/09/18 15:12] 147.250.35.104 created |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Le constructeur par défaut ====== | ||
- | |||
- | Le constructeur par défaut est un constructeur qui ne prend aucun paramètre. C'est le constructeur qui est appelé pour initialiser l'objet par défaut. | ||
- | |||
- | <code cpp> | ||
- | |||
- | std::string nom; // Création d'un object chaîne de caractère | ||
- | // puis appel du constructeur par défaut. | ||
- | std::string prenom; | ||
- | |||
- | </code> | ||
- | |||
- | ===== Déclaration du constructeur par défaut ===== | ||
- | |||
- | Le constructeur par défaut est déclaré comme le constructeur n'ayant aucun paramètre. | ||
- | <code cpp> | ||
- | class MyClass | ||
- | { | ||
- | public: | ||
- | MyClass() // Constructeur par défaut. | ||
- | {} | ||
- | }; | ||
- | </code> | ||
- | |||
- | Une bonne pratique consiste à ce que le programmeur s'assure que le constructeur par défaut initialise l'ensemble des champs de l'objet à une valeur donnée. | ||
- | |||
- | Par défaut, c'est à dire sans action de la part du programmeur, les champs sont initialisés comme suit : | ||
- | * Pour des champs ayant comme type des types atomiques comme les types ''int'', ''char'', ..., aucune initialisation n'est réalisée et la valeur contenu dans le champ est indéfini. | ||
- | |||
- | * Pour des champs ayant comme type un type objet, le constructeur par défaut de la classe est automatiquement appelé. Cependant, si aucun constructeur par défaut n'est définit pour la classe, une erreur de compilation est générée. | ||
- | |||
- | * Pour des champs pour lesquels il est [[in204:class:default_value|spécifié une valeur par défaut], le champ prend cette valeur par défaut. | ||
- | |||
- | |||