Inside the C++ Object Model
by
Stanley B. Lippman
Description: Inside the C++ Object Model examines the implementation details of object-oriented features in C++, including constructors, encapsulation, inheritance, and virtual functions, to provide a deeper understanding of the language's core mechanisms
ISBN: 0201834545
Supporting virtual member functions (i.e. runtime polymorphism) only requires adding a vtable pointer—which IIRC Linux also does for some of its own structural subtyping, at least in its Virtual File System component.
Multiple inheritance requires some more bookkeeping by the compiler of appropriate offsets, but structurally it doesn't change very much.
It's not surprising: C++ was famously originally implemented as a preprocess transformation into C. Inside the C++ Object Model[1] is a fascinating deep dive on how C++ semantics map to C constructs.
[1] https://www.oreilly.com/library/view/inside-the-c/0201834545...