Polymorphism is one of the most important feature of OOP. C++ implements polymorphism by the combination of virtual member functions and pointers (references). As a C++ user, of course you know how to use virtual member function and pointers (references) to achive polymorphism. But there might be a fuzzy zone left around these concepts. For example, have you ever think about the following question?
Can a pure virtual function has a implementation?
This post discuss declaration and definition of virtual member functions in C++.