Suppose I have
class A { public: void print(){cout<<\"A\"; }}; class B: public A { public: void print(){cout<<\"B\"; }}; class C: public A
Check out the C++ ABI for any questions regarding the in-memory layout of things. It's labelled "Itanium C++ ABI", but it's become the standard ABI for C++ implemented by most compilers.