会发现此时Drive的大小是12+12+4
实际上,是28
可以猜测,派生类并没有单独生成一个许表指针,实际上派生类的虚函数指针放在了最左边基类所指向的许表中,并且放在基类的虚函数之后!!!
程序输出:
Base1::f
Base1::g
Base2::f
Base2::f
Base3::f
Base3::f
Drive::fd
Drive::gd
这个程序显示 drive 的虚函数保存在 vptr 的第一个 虚函数地址表.
说明:
*(int*)&objDrive,是取指针(指针的内容(即指针所指向的地址))所指向的内容!