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
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
