Polymorphisme et destructeurs.
Modifier le programme progamLend.cpp
pour allouer dynamiquement l’instance de LendableBook
.
En fin de programme, libérer la mémoire de cette instance à travers le pointeur ou la référence.
Compiler et exécuter.
Remarquer le message de compilation.
Appel des destructeurs.
Tracer les appels aux destructeurs en ajoutant un destructeur aux classes LendableBook
et Book
qui affiche un message.
Compiler et exécuter. Conclusion.
Déclarer le destructeur de Book
virtuel.
Compiler et exécuter. Conclusion
Expliquer le comportement si le destructeur LendableBook
est virtuel mais pas celui de Book
.
Pour la suite, supprimer le destructeur de LendableBook
, laisser en virtuel le destructeur de Book
en enlevant l’affichage.
Régles de programmation :
Toujours mettre le destructeur d’une classe potentiellement dérivable en virtuel.
Le destructeur virtuel est donc obligatoire si vous avez une méthode virtuelle dans une classe.
Library
Reprendre la fonction printLibrary
et l’appliquer à un ensemble contenant des instances de Book
et des instances de LendableBook
.