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.