Héritage et constructeur de la classe fille [Résolu]

Messages postés
46
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
17 juillet 2007
- - Dernière réponse : aylaj
Messages postés
1
Date d'inscription
lundi 8 décembre 2008
Statut
Membre
Dernière intervention
31 mars 2010
- 31 mars 2010 à 11:33
Bonjour c'est une question vraiment toute bête mais ... j'arrive pas à trouver la solution.

Lorsqu'une classe fille hérite d'une classe mère.
Comment fait-on pour les constructeurs de la classe fille.

Disons que la classe mère a une variable var_mère et que la classe fille a une variable var_fille.

J'ai donc un constructeur par défaut pour la mère et un constructeur initialisant var_mère

Si je veux faire un constructeur de la classe fille pour celui par défaut pas de problème (avec aucun paramètre ni pour la fille ni pour la mère )
Mais pour le reste comment fait on ? (en fait ma question c'est surtout comment fait-on sans faire planté )
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
1
Merci
Tout d'abord la classe fille doit aussi initialiser la variable var_fille si elle peut l'utiliser.

Pour régler ton problème je vois deux solution:

-Soit créer un constructeur par défaut pour la classe mère

-Soit appeler explicitement le constructeur approprié de la classe mère:



class Mere

{

int m;

public:

Mere(int i);

};



Mere::Mere(int i)

{

m = i;

}



class Fille: public Mere

{

int f;

public:

Fille(int i);

};



Fille::Fille(int i)

:Mere(0)

{

f = i;

}

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 115 internautes nous ont dit merci ce mois-ci

Commenter la réponse de vecchio56
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
1
Merci
le veut dire que tu appelles le contructeur Mere(int), ce qui
aura pour effet de mettre m à 0. Tu peux évidemment remplacer 0 par une
autre valeur

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 115 internautes nous ont dit merci ce mois-ci

Commenter la réponse de vecchio56
Messages postés
46
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
17 juillet 2007
0
Merci
Merci pour ta réponse ^^

Que veut dire le 0 du constructeur fille ( mère(0) )?

fille:fille(int i):mère(0)
{
f=i;
}

Es ce que ca veut dire que je n'envoi pas de valeur (constructeur par défaut) de la mère ?
Si oui comment je ferais justement pour apeller un autre constructeur de la mère ?
Comme ca ?(sans mettre le type ?)

fille:fille(int i):mère()
{
f=i;
}
Commenter la réponse de Cookiem
Messages postés
1
Date d'inscription
lundi 8 décembre 2008
Statut
Membre
Dernière intervention
31 mars 2010
0
Merci
bonjour
j'aimerai bien savoir si on peut avoir un héritage avec une des classes fille qui soit vide?
merci d'avance
Commenter la réponse de aylaj