In the application developed in module 2 it is awkward to value different options.  Module 3 introduces and implements polymorphism.  It constructs polymorphic option,  process and application objects.  The concept of a pseudo-factory,  encapsulating object creation,  is introduced and implemented.

Topics: polymorphism and base classes;  pure virtual functions,  inheritance,  and interfaces;  the this pointer;  double dispatching;  output registration with std∷map;  the decorator pattern with Monte Carlo.