User Tools

Site Tools


in204:cpp:syntax:class:constructor

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
in204:cpp:syntax:class:constructor [2019/09/18 14:42]
147.250.35.104 [Les différents modes d'initialisation des champs]
in204:cpp:syntax:class:constructor [2022/11/18 10:51] (current)
Line 246: Line 246:
  
 Plus spécifiquement :  Plus spécifiquement : 
-  ​* ''​width(0),​ height(0)'' ​est une liste d'initialisateur ​des champs et de [[in204:​class:​derivation|classe ​de base]]. ​Cette liste d'initialisateur ​respecte la syntaxe ​suivant : ''​membre(paramètres)''​ où membre est le nom du champ ou le type de la classe de base et où ''​paramètres''​ représentent le ou les paramètères sont les paramètres qui sont passés au constructeur du membre. Les membres sont initialisés dans l'​ordre dans lequel ils apparaissent dans la liste d'​initialisateurs. Ainsi dans l'​exemple précédent,​ le champ ''​width''​ est initialisé avant le champ ''​height''​. ​+ 
 +  ​* ''​width(0),​ height(0)'' ​définit ​une liste d'initialisateurs ​des champs et des [[in204:​class:​derivation|classes ​de base]]. ​Chaque ​initialisateur ​a pour syntaxe ''​membre(paramètres)''​ où ''​membre'' ​est le nom du champ ou le type de la classe de base et où ''​paramètres''​ représentent le ou les paramètres qui sont passés au constructeur du membre ​(éventuellement aucun paramètre si c'est le membre est initialisé par défaut). Chaque initialisateur est séparer de son successeur par une ','​. Les membres sont initialisés dans l'​ordre dans lequel ils apparaissent dans la liste d'​initialisateurs. Ainsi dans l'​exemple précédent,​ le champ ''​width''​ est initialisé avant le champ ''​height''​. ​
  
   * le code contenu dans le corps du constructeur est exécuté une fois l'​ensemble des membres initialisés.   * le code contenu dans le corps du constructeur est exécuté une fois l'​ensemble des membres initialisés.
 +
 +De fait, si pour un champ donné ou une classe de base, aucun initialisateur n'est spécifié dans la liste, dans ce cas, c'est l'​initisateur par défaut qui est automatiquement appelé avant d'​exécuter le code contenu dans le corps de la fonction.
 +
 +
 +
  
 ==== Les différents types de constructeurs ==== ==== Les différents types de constructeurs ====
Line 255: Line 261:
 C++ définit plusieurs types de constructeurs. ​ C++ définit plusieurs types de constructeurs. ​
  
-  * [[in204:​constructor:​default|Le constructeur par défaut]]. Il s'agit d'un constructeur ne prenant aucun argument. ​ 
-  * [[in204:​constructor:​copy|Le constructeur de recopie]]. Ce constructeur est un constructeur servant à initialiser un objet en recopiant les informations d'un objet déjà existant et de même type. 
-  * [[in204:​constructor:​conversion|Les constructeurs de promotion ou de conversion]]. Ces constructeurs permettent d'​initialiser un objet de manière à ce qu'il soit équivalent à un objet ou un valeur ayant un autre type. 
-  * [[in204:​constructor:​spezialized|Les constructeurs spécialisés]]. Ce sont des constructeurs qui permettent d'​initialiser un objet à partir d'un ensemble de paramètres. 
  
 <code cpp> <code cpp>
Line 282: Line 284:
 </​code>​ </​code>​
  
 +
 +  * [[in204:​cpp:​syntax:​class:​constructor:​default|Le constructeur par défaut]]. Il s'agit d'un constructeur ne prenant aucun argument. ​
 +  * [[in204:​cpp:​syntax:​class:​constructor:​copy|Le constructeur de recopie]]. Ce constructeur est un constructeur servant à initialiser un objet en recopiant les informations d'un objet déjà existant et de même type.
 +  * [[in204:​cpp:​syntax:​class:​constructor:​conversion|Les constructeurs de promotion ou de conversion]]. Ces constructeurs permettent d'​initialiser un objet de manière à ce qu'il soit équivalent à un objet ou un valeur ayant un autre type.
 +  * [[in204:​cpp:​syntax:​class:​constructor:​spezialized|Les constructeurs spécialisés]]. Ce sont des constructeurs qui permettent d'​initialiser un objet à partir d'un ensemble de paramètres.
  
  
in204/cpp/syntax/class/constructor.1568817728.txt.gz · Last modified: 2019/09/18 14:42 by 147.250.35.104