This is a 6-part video series entitled C++ Models by Dr. James Fawcett. Each video describes different conceptual models underlying the C++ programming language. Discussion with exemplars is used to illustrate how the models apply to aspects of the language for effective use. In this series, eight fundamental models are covered: Code Structure, Compilation, Program Execution, Use of Memory, Classes, Object Model, and Templates.
Part 5 of this 6-part video series discusses methods for building code with the flexibility to support change. Public inheritance coupled with pointers and references, support type substitution and provides one method to enable code to change without breaking existing package dependencies. The virtual function dispatching model is described with an exemplar.