c++虚函数
先理解下虚函数和虚表
(1)C++类的成员函数在声明时,若使用关键字 virtual 进行修饰,则被称为虚函数。
(2)一个类中可能有很多个虚函数。
(3)虚函数的入口地址被统一保存在虚表(Vtable)中。
(4)对象在使用虚函数时,先通过虚表指针找到虚表,然后从虚表中取出最终的函数入口地址进行调用。
(5)虚表指针保存在对象的内存空间中,紧接着虚表指针的是其他成员变量。
(6)虚函数只有通过对象指针的引用才能显示出其动态调用的特性。
C++虚函数的入口地址被统一存在虚表中,对象使用虚函数时通过调用虚表指针找到虚表,然后从虚表中取出最终的函数入口地址进行调用,虚表指针保存在内存空间中,紧接着虚表指针的是其他成员变量,虚函数只有通过对象指针的引用才能显示出其动态调用特性。


浙公网安备 33010602011771号