inheritance: demonstrate public inheritance
demonstrate virtual, pure virtual
order of constructor, destructor calls
demonstrate why virtual destructors are necessary
demonstrate why the big three are required
code big three
linked lists; pointers in linked lists
template functions (but not syntax)
template classes (but not syntax)