Bonjour
J'ai lu plusieurs tutoriels de c++ et j'ai un peu de mal à comprendre certaines choses en c++

Quelle est la différence entre le polymorphisme et la surcharge?
A quoi sert le mot virtual ? Car en fonction du tutoriel, il est ou n'est pas utilisé

Merci d'avance pour vos explications
Bonne journée