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.