class abstract
{double abs; };
class A : virtual public abstract
{ double var; };
class B : virtual public abstract
{ double var; };
class derived : public A, public B
{ double der; };
sizeof(abstract) = 8
sizeof(A) = 24
sizeof(B) = 24
sizeof(derived) = 48
Why does this happen?
(Note: On the contrary without the virtual
classes the sizes returned are 8, 16, 16, 40 respectively. )