next up previous contents
Next: Encapsulation et droits d'accès Up: Classes en C++ Previous: Classes en C++

Les membres

Tout d'abord le typage du C++, comme du C, repose sur l'équivalence des noms, pas sur une équivalence structurelle (par exemple, struct A{int i} et struct B{int i} sont deux types différents).

Dans la suite, une classe sera simplement un type défini par l'utilisateur. Il y a trois façons de définir un nouveau type en C++ : class, struct et uniongif. Une classe contient deux sortes de membres :

Il est important de noter que dans une définition d'une classe, le compilateur va créer les fonctions de la classe (et uniquement elles), par contre, lors de la création d'objets, ce sont les données membres qui seront créées. En ce sens, une fonction membre ne ``coûte'' qu'à la compilation, alors que les données membres ``coûteront'' à chaque création d'objet. On peut dire aussi que les données membres sont propres à chaque objetsgif, alors que les fonctions membres seront partagées par tous les objets.

D'un point de vue pratique, cet absence de ``coût'' pour les fonctions membres, signifie qu'on aura intérêt à fournir avec une classe toutes les fonctions membres qui pourraient être utiles même si on n'en voit pas actuellement l'usage.



Mon Oct 20 14:02:48 MET 1997