我们都知道为类定义越多的属性会增大类对象的大小,在使用对象的时候也就会占用越多的内存。
在C++里,虚函数也同样会占用内存,因为类会维护一个指向虚函数表(VTable)的指针(pVTable),该指针占4个字节,用来保存虚函数表的地址。
如下图所示:
直接看代码:
#include "stdafx.h" class Test { public: int Age; int ID; virtual void Get1() { } virtual void Get2() { } }; int _tmain(int argc, _TCHAR* argv[]) { Test a; printf("%d\n",sizeof(a)); return 0; }
运行结果是 : 4 + 4 + 4 = 12 字节。