Bonjour, je suis en train de potasser l'héritage de classe en c++ J'ai malheureusement un pb de private.
Je me suis fais un exemple tout bete pour apprendre à manipuler les private, protected et public
voici mon exemple
enum Race{race1,race2,race3};
class Animal
{
private:
Race race;
protected:
int age;
int poids;
public:
Animal():age(0), poids(0), race(race1) {cout<<"\nAppel du constructeur par defaut de Animal\n";}
Animal(int _a,int _p,Race r): age(_a), poids(_p), race(r) {cout<<"\nAppel du constructeur de Animal(int,int,Race)\n";}
~Animal() {cout<<"\nAppel du destructeur de Animal\n";}
puis j'ai codé d'autre fonctions membre
};
class Mamifere:public Animal
{
int patte; // nombre de pattes
public:
Mamifere():Animal(),patte(0),race(race1) {cout<<"\nAppel du constructeur par defaut de Mamifere\n";}
Mamifere(int a,int b,Race r,int c):Animal(a,b,r),patte(c) {"\nAppel du constructuer Mamifere(int,int,Race,int)\n";}
~Mamifere() {cout<<"\nAppel du destructeur de Mamifere\n";}
et il y a d'autres fonctions membre
};
mon pb vient du fait que dans le constructeur par defaut de Mamifere, race est private. La solution "facile" consiste à tout mettre en protected mais j'aimerais apprendre à manipuler les private, protected et public. Je ne voudrais qu'il n'y a que age et poids qui puissent se transmettre mais pas race.
Comment puis-je faire ?
Merci bcp
Pom