20 Retour sur les classes
Les pointeurs sont très utilisés en C et C++. Manipuler des objets d'une
classe se fait souvent au moyen de pointeur. Voici quelques informations à
ce sujet :
-
Si
p
désigne un pointeur sur un objet d'une classe ayant un
champ champ
et une fonction membre fct()
, alors plutôt que
d'utiliser ``(*p).champ
'' ou ``(*p).fct()
'', il est possible
d'utiliser ``p->champ
'' ou ``p->fct()
''. L'opérateur
``->'' remplace donc le ``(*_).'', c'est plus court !
-
Dans la définition des fonctions membres d'une classe, on utilise les
champs de l'objet sur lequel les fonctions seront appelées dans le
programme. Cet objet n'apparaît pas explicitement dans ces fonctions,
hormis ses champs de données. Il est parfois utile de le connaître mieux et
notamment de connaître son adresse mémoire : c'est possible, this
désigne l'adresse de l'objet sur lequel la fonction définie est appelée.
-
Lorsqu'on alloue de la mémoire pour stocker un objet de type
T
, un
constructeur est appelé : soit celui sans argument (dans le cas d'un
``new T;
''), soit un avec argument si des arguments sont présents (
``new T(a1,...,aN);
'').