The goal of these modules is to introduce me to Object-Oriented Programming
Namespaces, classes, member functions, stdio streams, initialization lists, static, const, and some other basic stuff
Memory allocation, pointers to members, references, switch statement
Ad-hoc polymorphism, operator overloading and Orthodox Canonical class form
Inheritance
Subtype polymorphism, abstract classes, interfaces
Repetition and Exceptions
casts
templates
Templated containers, iterators, algorithms