c++虚函数


先理解下虚函数和虚表

 

1C++类的成员函数在声明时,若使用关键字 virtual 进行修饰,则被称为虚函数。

2)一个类中可能有很多个虚函数。

3)虚函数的入口地址被统一保存在虚表(Vtable)中。

4)对象在使用虚函数时,先通过虚表指针找到虚表,然后从虚表中取出最终的函数入口地址进行调用。

5)虚表指针保存在对象的内存空间中,紧接着虚表指针的是其他成员变量。

6)虚函数只有通过对象指针的引用才能显示出其动态调用的特性。

 

C++虚函数的入口地址被统一存在虚表中,对象使用虚函数时通过调用虚表指针找到虚表,然后从虚表中取出最终的函数入口地址进行调用,虚表指针保存在内存空间中,紧接着虚表指针的是其他成员变量,虚函数只有通过对象指针的引用才能显示出其动态调用特性。

 

 

posted @ 2022-05-04 21:41  Stickycat  阅读(120)  评论(0)    收藏  举报