A voir également:
- Aider moi a résoudre ce petit bugg en c++!!
- Trier du plus petit au plus grand excel - Guide
- Petit 2 ✓ - Forum Bureautique
- Comment imprimer une photo en petit - Forum Photo numérique
- Petit 3 ✓ - Forum Word
- Comment écrire mètre carré avec un m+2 expos? ✓ - Forum Windows
2 réponses
Je ne comprends pas bien ton questionnement.
Une classe comprenant une méthode virtuelle pure est une classe abstraite, elle ne peut donc être instanciée. Elle doit donc être dérivée et ses méthodes virtuelles doivent donc être reprises dans la classe dérivée et en aucun cas il ne sera fait appel aux méthodes virtuelles de la classe mère.
Dans ton cas tu pourras appeler les méthodes 'gain' et 'augmenter' seulement à partir d'une instance de la classe 'Cadre'.
NB: il est inutile d'écrire virtual double gain(), double gain() suffit.
Bonne réflexion.
Une classe comprenant une méthode virtuelle pure est une classe abstraite, elle ne peut donc être instanciée. Elle doit donc être dérivée et ses méthodes virtuelles doivent donc être reprises dans la classe dérivée et en aucun cas il ne sera fait appel aux méthodes virtuelles de la classe mère.
Dans ton cas tu pourras appeler les méthodes 'gain' et 'augmenter' seulement à partir d'une instance de la classe 'Cadre'.
NB: il est inutile d'écrire virtual double gain(), double gain() suffit.
Bonne réflexion.
Pour complété la réponse de loupious, il est possible d'appeler gain depuis une variable Employé SI cette variable est un pointeur, c'est le polymorphisme. Mais ce pointeur se réfère forcément à un objet réel dérivé.
exemple :
exemple :
Employe *p; p=new cadre(); p->gain();// fonctionnera et appelera Cadre::gain()
https://forums.commentcamarche.net/forum/affich-19624613-probleme-cle-usb-qui-refuse-de-se-formater#p19625276