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

Messages postés
46
Date d'inscription
mercredi 12 janvier 2005
Dernière intervention
17 juillet 2007
- 1 mai 2005 à 18:05 - Dernière réponse :
Messages postés
1
Date d'inscription
lundi 8 décembre 2008
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 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Dernière intervention
22 août 2010
- 1 mai 2005 à 18:50
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;

}

Merci vecchio56 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de vecchio56
Meilleure réponse
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Dernière intervention
22 août 2010
- 1 mai 2005 à 23:24
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

Merci vecchio56 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de vecchio56
Messages postés
46
Date d'inscription
mercredi 12 janvier 2005
Dernière intervention
17 juillet 2007
- 1 mai 2005 à 22:56
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
Dernière intervention
31 mars 2010
- 31 mars 2010 à 11:33
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.