Thanks, if you mean vtable gets altered you mean the pointer is directed to another vtable? I assume you are right on this simple example (the members of Derived are placed after Base, allowing a single vtable pointer ), but with multiple inheritance you will invariable need multiple vtables.