abstraction mechanisms: classes and operator overloading
classes - object construction/destruction - public, private members
class members : object instantiation, separation of interface/implementation
class members : constructors, destructor, accessors, mutators
class members : aggregate data members
memory management : static, dynamic
class members with objects of other classes and/or stl types
aggregate of objects with different constructors