Nous avons déjà dit que la notion du pointeur en langage C et C++ reste une notion très importante car elle nous permet de rendre nos programmes dynamiques. Cependant, cette notion reste la notion la plus complexe qu’elle faut traiter avec beaucoup d’attention, car la moindre erreur peut provoquer un désastre (faux résultat, plantage du programme…).
Dans ce cours, nous allons voir comment marier les classes et les pointeurs. Espérons qu’ils feront un bon couple avec des très bons enfants. Bien sûre que la qualité du couple dépendra de vous, monsieur le moine.
Prenons l’exemple de cette classe voiture :
Ici dans notre cas, nous voyons très bien que marque s’git d’un pointeur. Bien qu’il existe à l’intérieur de la classe voiture, nous ne pouvons pas dire qu’il appartient à cette classe car il pointe vers une valeur externe (se trouvant dans une autre class par exemple).
Voyons maintenant comment nous pouvons créer un pointeur vers une classe.
Pour créer un pointeur vers une classe, on doit indiquer le nom de la classe. Ci-dessous la syntaxe :
type nom-de-la-classe ::* le-pointeur
Une fois le pointeur créé, on peut récupérer facilement l’adresse. Voici la syntaxe :
pointeur = &adeltarec ;
Après on utilise l’operateur -> pour accéder aux membres.
Pour plus de clarté voyons un exemple :
Notre exemple consiste à calculer les surfaces des chambres. Nous allons commencer par créer une classe chambre et
puis son constructeur.
Voici le code commenté :