Explore runtime polymorphism mechanisms from various programming languages and their implementation in C++ through an extended framework called Zoo. Delve into the advantages and disadvantages of dynamic dispatch, late binding, Rust Traits, Swift Protocols, and JavaScript's prototypal inheritance. Learn how to apply these concepts in C++ code, achieving benefits such as superior performance compared to intrinsic v-table based virtual dispatch, value semantics, simplified testing through method swizzling, and efficient interoperability with type-erased containers. Gain insights into implementing runtime polymorphism techniques from other languages to enhance C++ development practices and overcome limitations of traditional object-oriented approaches.
Overview
Syllabus
Polymorphism À La Carte - Eduardo Madrid & Phil Nash - [CppNow 2021]
Taught by
CppNow