Voici un programme reprenant la déclaration et la définition de la structure point ainsi qu'un exemple de main, puis une trace de l'exécution de ce main :
#include <iostream.h>
struct point
{
int x;
int y;
void initialise(int,int);
void deplace(int,int);
void affiche();
};
void point::initialise(int abs, int ord)
{
x=abs;
y=ord;
}
void point::deplace(int dx,int dy)
{
x+=dx;
x+=dy;
}
void point::affiche()
{
cout<<"je suis en "<<x<<""<<y<<"\n";
}
void main (void)
{
point a,b;
a.initialise(4,6);
a.affiche();
a.deplace(-4,5);
a.affiche();
b.initialise(7,9);
b.affiche();
}
je suis en 4 6
je suis en 0 11
je suis en 7 9
Une fonction membre reçoit implicitement le type de la structure ainsi que l'objet précis sur lequel elle s'applique, nous verrons qu'il en va de même pour une classe et que c'est d'ailleurs le seul moyen d'accéder a une données membre. Il est possible de compiler séparément le type point du reste du programme, nous le verrons ultérieurement.