My old paper "C++: Under the Hood" explains the Microsoft C++ implementation of virtual base classes.
http://www.openrce.org/articles/files/jangrayhood.pdf
And you can compile with cl /d1reportAllClassLayout to get a text report of class memory layouts.