Object-Oriented Programming
Encapsulation, inheritance taxonomies, dynamic polymorphism, virtual method tables (vtables), and object lifetime management.
Private vs protected vs public visibility, constructor initialization lists, and immutable objects.
Encapsulation, Access Specifiers & Data Hiding
Private vs protected vs public visibility, constructor initialization lists, and immutable objects.
Liskov Substitution Principle (LSP), Method Resolution Order (MRO / C3 Linearization), multiple inheritance diamonds, and the Fragile Base Class problem.
Inheritance Hierarchies & Code Reuse Paradigms
Subtyping behavioral contracts, C3 linearization algorithm, Diamond Problem resolution, and composition over inheritance.
Static vs dynamic polymorphism, Virtual Method Tables (VTable), vptr memory layouts, compiler dynamic dispatch, and branch prediction overhead.
Polymorphism, Dynamic Binding & VTable Mechanics
Compiler dispatch mechanics, VTable layout, function pointer indexing, dynamic binding overhead, and double dispatch.
Object lifecycle phases, RAII deterministic resource management, reference counting vs tracing GC, circular references, and custom smart pointers.
Object Lifetime, Resource Management (RAII) & Design
Constructors and destructors, deterministic cleanup, smart pointers, reference counting memory models, and zero-leak resource pools.