Calling a virtual function
When a pointer (or reference) to a base class actually points (or refers) to a derived class object, and
You use that pointer (or reference) to call a function that is declared virtual in the base class, then
The derived-class function is the one that is actually called.