Possible Duplicate:
object size with virtual

class X {};  
class Y : public virtual X {};  
class Z : public virtual X {};  
class Class : public Y, public Z {};

Why sizeof(Class) results 12 on my small gcc compiler? Would someone please explain?