Appel au constructeur paramétré

[Résolu/Fermé]
Signaler
Messages postés
14
Date d'inscription
vendredi 7 décembre 2012
Statut
Membre
Dernière intervention
4 avril 2013
-
Messages postés
14
Date d'inscription
vendredi 7 décembre 2012
Statut
Membre
Dernière intervention
4 avril 2013
-
Bonjour,

svp
j'ai rencontré une erreur dans la compilation de mon code :
En fait, j'ai une classe classe A avec les deux constructeurs suivant:
un constructeur par défaut : A(cout<<"par défaut")
un constructeur paramétré : A(int a);
aussi j'ai une classe B dérivée de A ( class B : public A). Cette classe possede aussi deux constructeurs :
un constructeur par défaut : B()
un constructeur paramétré : B(int b); Dans le fichier B.cpp
j'écris B(int b) {A(a)} càd j'ai fait appel au constructeur paramétré de A puisqu'elle est sa classe mère.

Dans le main j'instancie un objet de type B comme suit :
B obj(4);
j'essaye d'afficher le 4 mais il s'affiche par défaut c-a-d
un appel du constructeur par défaut de A est appelé et pas le constructeur paramétré. Je veux savoir qu'elle est ma faute?

2 réponses

Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 313
Les constructeurs hériter doivent être appeler par la formulation ':'.
Dans ton cas :
B::B(int b):A(b) {...};
Messages postés
14
Date d'inscription
vendredi 7 décembre 2012
Statut
Membre
Dernière intervention
4 avril 2013

Merci pour votre réponse