Classes

Nous avons vu sur un exemple comment déclarer les parties privées et publiques d’une structure. Les premiers membres qui apparaissent sont publics, jusqu’à la rencontre du mot private. Les suivants sont alors privés, jusqu’à rencontrer public, etc. On peut placer ces « bascules modales » autant de fois que nécessaire.

En pratique, les champs sont généralement privés, et les méthodes publiques (puisqu’elles ne risquent pas d’être modifiées). De ce fait, le mot private viendra logiquement dès le début de la déclaration de la structure, comme dans notre exemple, puisque les champs sont la plupart du temps déclarés d’abord.

Pour raccourcir les écritures, on peut utiliser le mot class à la place du mot struct. Une classe est en tout point identique à une structure, sauf que ses membres sont privés par défaut, et non publics. De ce fait, la déclaration de noeud se fera un peu plus simplement ainsi :

class noeud {     noeud *suivt;    // le suivant dans la liste     element elm;    // information contenue     public :     noeud *suivant(void) { return suivt; }     element &contenu(void) { return elm; }     noeud* supprime_svt(void);     noeud* insere(element e);     };

Les deux champs sont ici privés.

Les structures ne sont pas très utiles en C++ ; elles sont surtout fournies pour des raisons de compatibilité avec le langage C. Dans la suite, nous utiliserons presque toujours des classes.

On notera qu’une classe doit toujours contenir au moins une fois le mot public (ou protected, expliqué au chapitre 8) sauf si elle est vide ; dans le cas contraire on ne pourrait rien faire de ses membres. Ce n’est cependant pas vrai si elle contient le mot friend, terme expliqué au chapitre 7, puisqu’alors une fonction au moins, ou une classe entière pourra utiliser cette classe ; on définit ainsi une classe « réservée ».

Précédent Précédent Sommaire Sommaire Suivant Suivant