The difference between Class B and Class C is in the way they inherit from Class A.
class A
class B : publicvirtual A
class C : public A
The important bit is that word virtual it adds an extra virtual function pointer to Class B.
So you will probably find Class A is size 4, Class B is size 8 and Class C is size 4