Au moment où un objet de type Tableau
est déclaré, une partie de la
mémoire sera réservée pour stocker ses différents champs. Plus précisément,
la déclaration de l'objet appelle une fonction membre particulière,
désignée sous le nom de constructeur, qui, par défaut, se contente de
déclarer les différents champs de l'objet. Si l'un de ces champs est
lui-même un objet d'une certaine classe, le constructeur de cette classe
sera appelé pour déclarer et constuire ce champ.
Ce constructeur peut être précisé dans la classe si l'on veut exécuter
d'autres instructions à ce moment-là. Par convention, le constructeur porte
le nom de la classe et ne renvoie rien. Il est nécessairement public
puisqu'il est appelé lors de la déclaration d'un objet (en dehors de la
classe). Ainsi dans le cas de la classe
Vecteur
on peut préciser le constructeur de la façon suivante:
class Tableau { double* tab; int n; public: Tableau(){ n = 0; } // autres champs et fonctions membres };
Ainsi maintenant, la simple déclaration:
Tableau A;aura également pour effet d'initialiser la valeur de
A.n
à
0
.
Le constructeur n'est appelé qu'au moment de la déclaration d'un objet. On ne peut pas l'appeler (manuellement par son nom) dans d'autres circonstances.