单个类的虚函数表
执行结果:
VS的对象内存分布分析:
项目的命令行中添加加:/d1reportSingleClassLayoutFather
手绘内存分布:
***对象内,首先存储的是“虚函数表指针”,又称“虚表指针”。
然后再存储非静态数据成员。
对象的非虚函数,保存在类的代码中!
对象的内存,只存储虚函数表和数据成员
(类的静态数据成员,保存在数据区中,和对象是分开存储的)
添加虚函数后,对象的内存空间不变!仅虚函数表中添加条目
多个对象,共享同一个虚函数表!
#如果类中存在虚函数表,那么我们在定义对象的时候,里面存储的是指向类的虚拟函数指针。而且占有四个字节。***