Rappels
Les possibilités de Programmation Orientée Objet de C++ reposent sur le concept de
classe. Une classe est la généralisation de la notion de type défini par l’utilisateur, dans
lequel se trouvent associées à la fois des données (on parle de « membres donnée ») et
des fonctions (on parle de « fonctions membre » ou de méthodes). En P.O.O. pure, les
données sont « encapsulées », ce qui signifie que leur accès ne peut se faire que par le
biais des méthodes. C++ vous autorise à n’encapsuler qu’une partie seulement des
données d’une classe.
En toute rigueur, C++ vous permet également d’associer des fonctions membre à des
structures ou à des unions. Dans ce cas, toutefois, aucune encapsulation n’est possible
(ce qui revient à dire que tous les membres sont « publics »).
Déclaration et définition d’une classe
La déclaration d’une classe précise quels sont les membres (données ou fonctions)
publics (c’est-à-dire accessibles à l’utilisateur de la classe) et quels sont les membres
privés (inaccessibles à l’utilisateur de la classe). On utilise pour cela les mots-clés
public et private, comme dans cet exemple dans lequel la classe point comporte deux
membres donnée privés x et y et trois fonctions membres publiques initialise, deplace et
affiche :
/* ------------ Déclaration de la classe point ------------- */
class point
{ /* déclaration des membres privés */
private :
int x ;
int y ;
/* déclaration des membres publics */
public :
void initialise (int, int) ;
void deplace (int, int) ;
void affiche () ;
} ;
La définition d’une classe consiste à fournir les définitions des fonctions membre. On
indique alors le nom de la classe correspondante, à l’aide de l’opérateur de résolution
de portée (::). Au sein de la définition même, les membres (privés ou publics —
données ou fonctions) sont directement accessibles sans qu’il soit nécessaire de
préciser le nom de la classe. Voici, par exemple, ce que pourrait être la définition de la
131
Précédent

- 132/398

Suivant