Understand the basics of polymorphism/virtual functions in C++, as described in Chapter 12. What does polymorphism allow you to do? How do virtual functions make this possible? How are base/derived classes and pointers used as a part of this?
What exact syntax is used to indicate that a member function is virtual? Is this syntax required in the base class, the derived class, or both?
Does polymorphism work through references as it does through pointers?