Limplantation de la fonction membre sera donnée plus loin dans le programme, à tout endroit jugé adéquat :
void fiche::ecrit_np(char *nouv_nom, char *nouv_pre) { this->nom = nouv_nom; this->prenom = nouv_pre;}
Noter que le nom de la méthode est précédé du nom de la structure suivi par lopérateur de résolution de portée ::
(sur lequel nous reviendrons). On indique ainsi au compilateur quil sagit de la fonction membre définie dans la structure fiche
. En effet, dautres structures pourraient avoir une fonction membre du même nom, et il peut y avoir aussi une fonction normale ayant ce nom ; en outre le compilateur sait ainsi immédiatement quil doit passer un paramètre implicite fiche *this
dans la fonction. Cest pourquoi le nom de la structure est obligatoire : il ne doit jamais être omis, même sil ny a quune fonction portant ce nom dans tout le programme.
Nous voyons ici lusage du paramètre caché this
. Cependant, cette écriture est assez lourde. Il est permis de labréger ainsi :
void fiche::ecrit_np(char *nouv_nom, char *nouv_pre){ nom = nouv_nom; prenom = nouv_pre;}
En effet, toutes les fonctions membres « connaissent » automatiquement le nom de tous les membres (fonctions et données) de la structure. De ce fait, on utilise assez peu le paramètre this
explicitement, sauf lorsquon souhaite connaître ladresse de la structure (cest pourquoi this
est un pointeur, et non une référence).
Précédent | Sommaire | Suivant |