TOPICS (not an exhaustive list) * structures - name and purpose of an aggregate construct structure variables, member variables, assigning structures passing structure as a parameter, complex structures, arrays of structures, arrays as member variables of a structure * classes - purpose, advantages over structures, public/private members, inline/outside function definition, mutators/accessors, constructors, constructor overloading and default constructor, friend functions, static constants * pointers - definition and usage, pointers and constants, array names and pointers, null/loose pointer, pointers to objects (arrow operator), pointer arithmetic, passing pointers by value and by reference, returning pointers * dynamic memory allocation - static/dynamic/automatic variables, allocation for basic types, for arrays, for objects, allocation of objects with dynamic members: the big three (destructor, copy constructor, assignment overloading); memory leak problem for assignment overloading, protection against self-assignment, implementing stackability * vectors - advantages over (raw) arrays, declaring, adding/removing element, comparing/assigning vectors, passing by value/reference returning, iterators, iterator arithmetic, using iterators to insert, erase elements, sort vector