Given the size difference, I'd say that your compiler implements virtual bases using a virtual base pointer (much like the better known virtual table pointer for polymorphism). Extra bookkeeping is required to maintain the shared instance, because the compiler can't simply stack the instances as in non-virtual inheritance.
Narue
Bad Cop
15,460 posts since Sep 2004
Reputation Points: 6,483
Solved Threads: 1,408
Skill Endorsements: 55