Disons que nous avons un class Apple
concret. (Les objets Apple peuvent être instanciés.) Maintenant, quelqu'un vient et tire un résumé class Peach
d'Apple. C'est abstrait car il introduit une nouvelle fonction virtuelle pure. L'utilisateur de Peach est maintenant contraint d'en dériver et de définir cette nouvelle fonction. Est-ce un modèle commun? Est-ce correct à faire?Dérivation d'une classe abstraite de la classe concrète
Exemple:
Maintenant, disons que nous avons un bétonclass Apple { public: virtual void MakePie(); // more stuff here };
class Peach : public Apple { public: virtual void MakeDeliciousDesserts() = 0; // more stuff here };
class Berry
. Quelqu'un tire un résumé
class Tomato
de Berry. C'est abstrait car il écrase l'une des fonctions virtuelles de Berry, et le rend virtuel pur. L'utilisateur de Tomato doit ré-implémenter la fonction précédemment définie dans Berry. Est-ce un modèle commun? Est-ce correct à faire?
Exemple:
Remarque: Les noms sont artificiels et ne reflètent aucun code réel (espérons-le). Aucun fruit n'a été blessé dans l'écriture de cette question.class Berry { public: virtual void EatYummyPie(); // more stuff here };
class Tomato : public Berry { public: virtual void EatYummyPie() = 0; // more stuff here };
Pouvez-vous modifier votre question pour montrer quelques exemples de code s'il vous plaît? – quamrana
@ Marcin: "Aucun fruit n'a été lésé dans l'écriture de cette question" Cela a fait ma journée :) –
Des extraits de code ajoutés sur demande. – Marcin