Concept Flow - Runtime polymorphism
Create base class pointer
Assign derived class object
Call virtual function
At runtime, decide which function to call
Execute derived class function if overridden
End
Runtime polymorphism lets a program decide which function to call during execution using base class pointers to derived objects.