Explore the intricacies of proper inheritance in C++ programming through this in-depth conference talk. Delve into three distinct types of inheritance: Interface Inheritance from pure-virtual functions, Structural Inheritance from non-virtual functions, and Implementation Inheritance from non-pure virtual functions. Examine the specific contract criteria for each inheritance type, compare their relative merits, and understand their practical applications. Gain insights into common inheritance pitfalls and learn how to avoid improper usage. Build upon the foundational concepts of components, interfaces, and contracts discussed in Part I, with a particular focus on narrow versus wide contracts. Discover how to balance the need for comprehensive documentation of essential software behavior with the advantages of leaving certain behaviors undefined. Access accompanying slides for a visual aid to reinforce key concepts and examples presented in both parts of this comprehensive exploration of proper inheritance in C++.
Overview
Syllabus
John Lakos: Proper Inheritance (part 2 of 2)
Taught by
CppNow