参考答案
结论:C++类对象大小由非静态数据成员、虚函数指针及内存对齐填充决定。因素:1)非静态成员变量总和(静态成员、成员函数不占对象空间);2)若存在虚函数或继承虚类,对象含vptr(通常8字节,32位4字节);3)继承时基类子对象大小计入,含基类vptr;4)编译器按最大成员对齐(如8字节对齐),成员间插入填充字节;5)空类或空结构体大小为1字节以保唯一地址。示例:class A{char c; int i; virtual void f();}在64位下含vptr8+char1+填充3+int4=16字节。