Cette séance de cours traite du concept de polymorphisme dans la programmation orientée objet, en se concentrant spécifiquement sur le polymorphisme d'inclusion. Il commence par expliquer l'importance des hiérarchies de classes et comment elles aident à éviter les problèmes de maintenance du code associés à l'utilisation d'une seule classe pour gérer plusieurs types. L'instructeur met en évidence les limites de la résolution de liaison statique et introduit la résolution de liaison dynamique à travers des pointeurs. La séance de cours couvre l'importance des méthodes virtuelles et des destructeurs dans la réalisation du polymorphisme, soulignant que sans destructeurs virtuels, la gestion de la mémoire peut conduire à des fuites. L'instructeur illustre également comment implémenter des collections hétérogènes en utilisant des vecteurs de pointeurs de classe de base, permettant le stockage d'instances de classe dérivées. Tout au long de la séance de cours, divers exemples et extraits de code sont fournis pour clarifier ces concepts, démontrant comment le polymorphisme améliore la flexibilité et l'efficacité dans la gestion des collections d'objets appartenant à une hiérarchie de classes.