Appel au constructeur paramétré

Résolu/Fermé
kochfet Messages postés 14 Date d'inscription vendredi 7 décembre 2012 Statut Membre Dernière intervention 4 avril 2013 - 11 mars 2013 à 13:47
kochfet Messages postés 14 Date d'inscription vendredi 7 décembre 2012 Statut Membre Dernière intervention 4 avril 2013 - 11 mars 2013 à 20:54
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?

A voir également:

2 réponses

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
11 mars 2013 à 13:58
Les constructeurs hériter doivent être appeler par la formulation ':'.
Dans ton cas :
B::B(int b):A(b) {...};
0
kochfet Messages postés 14 Date d'inscription vendredi 7 décembre 2012 Statut Membre Dernière intervention 4 avril 2013
11 mars 2013 à 20:54
Merci pour votre réponse
0