通过一个对象直接调用virtual函数,跟普通函数没有任何区别, 即直接调用;
通过一个指针调用virtual函数, 即间接调用;因为调用的是谁不确定。
mov edx, dword tr [ecx];
call dword ptr [edx];
一个类里面有virtual关键字,对类的大小会多出4字节。在类的首地址多出4个字节,指向一张表,存放虚函数表地址。
一个类里面有多个virtual关键字,也只多出4个字节。几个virtual,就有几个虚函数地址项。编译器按序号来。
编译的时候确定virtual函数个数;