Ordre d'initialisation des donnees membres

pom -  
_julien_ Messages postés 56 Statut Membre -
Bonjour, pourquoi faut-il initialiser les donnees membres dans l'ordre de leur création ? Je m'explique. quand je fais :

enum Race{race1,race2,race3};

class Animal
{
private:
Race race;

protected:
int age;
int poids;

public:
Animal(int _a,int _p,Race r): age(_a), poids(_p), race(r){cout<<"\nAppel du constructeur de Animal(int,int,Race)\n";}

blabla
};

j'obtiens : warning: `Animal::poids' will be initialized after

mais quand je modifie le constructeur par
Animal(int _a,int _p,Race r):race(r), age(_a), poids(_p){cout<<"\nAppel du constructeur de Animal(int,int,Race)\n";}

le warning disparait.

Pourquoi ?

Merci
Pom
A voir également:

1 réponse

_julien_ Messages postés 56 Statut Membre 17
 
0