Exood4 Studio - Video Game Development, Toulouse (France)
Exood4 Studios Exood4 Tutorials

   
L a n g a g e   C++

L e s   i n s t a n c e s






Le constructeur


 Un constructeur de classe :
  • est une fonction membre de la classe

  • a le même nom que la classe

  • peut s'utiliser avec ou sans argument(s)

  • ne retourne pas de valeur

  • est appelé après l'allocation mémoire de l'objet


Le constructeur sans argument


// Déclaration de la classe point
class point
{
private :
 float abscisse, ordonnee;

public :
 point (); // constructeur sans argument de la classe point

 void afficher ();
};

// Définition du constructeur sans argument de la classe point
point::point ()
{
 abscisse = 0.0;
 ordonnee = 0.0;
}

// Programme principal utilisant la classe point (client de la classe)
void main ()
{
 point p;

 p.afficher (); // affiche : (0.0, 0.0)
}


Le constructeur avec argument


// Déclaration de la classe point
class point
{
private :
 float abscisse, ordonnee;

public :
 point (float, float); // constructeur avec arguments de la classe point

 void afficher ();
};

// Définition du constructeur avec arguments de la classe point
point::point (float x, float y)
{
 abscisse = x;
 ordonnee = y;
}

// Programme principal utilisant la classe point (client de la classe)
void main ()
{
 point p (3.5, 5.2); // on ne peut plus écrire : point p;
 // car il n'y a plus de constructeur sans argument

 p.afficher (); // affiche : (3.5, 5.2)
}


La surcharge du constructeur


// Déclaration de la classe point
class point
{
private :
 float abscisse, ordonnee;

public :
 point (); // constructeur sans argument de la classe point
 point (float, float); // constructeur avec arguments de la classe point

 void afficher ();
};

// Définition du constructeur sans argument de la classe point
point::point ()
{
 abscisse = 0.0;
 ordonnee = 0.0;
}

// Définition du constructeur avec arguments de la classe point
point::point (float x, float y)
{
 abscisse = x;
 ordonnee = y;
}

// Programme principal utilisant la classe point (client de la classe)
void main ()
{
 point p1 (3.5, 5.2);
 point p2;

 p1.afficher (); // affiche : (3.5, 5.2)
 p2.afficher (); // affiche : (0.0, 0.0)
}


Le constructeur avec argument par défaut


// Déclaration de la classe point
class point
{
private :
 float abscisse, ordonnee;

public :
 point (float=0.0, float=0.0); // constructeur avec arguments par défaut de la classe point

 void afficher ();
};

// Définition du constructeur avec arguments par défaut de la classe point
point::point (float x, float y)
{
 abscisse = x;
 ordonnee = y;
}

// Programme principal utilisant la classe point (client de la classe)
void main ()
{
 point p1 (3.5, 5.2);
 point p2;

 p1.afficher (); // affiche : (3.5, 5.2)
 p2.afficher (); // affiche : (0.0, 0.0)
}



  Retour en haut de page Page suivante