everything C++ features polymorphism inheritance encapsulation pointers classes inheritance templates overloaded operator members friends constructors Big three: when I have a pointer data member Why do I need ____?, prototype, def: copy constr destr overloaded assignment iterators virtual, pure virtual functions dynamic_cast (when? when not?) static_cast new delete, delete[] binary search - why is it nice? basic function? big O? arrays vs. linked lists structs C-strings Linked Lists follow the pointer examples what code will make these pointers happen? what is wrong with this code? why isn't anyone talking? recursion, tail Big O return values: choosing value vs ref vs pointer parameters: choosing value vs ref vs pointer