详解C++虚函数的工作原理

2020-06-22 13:09:43丽君

到这里,你是否已经明白为什么指向子类实例的基类指针可以调用子类(虚)函数?每一个实例对象中都存在一个vfptr指针,编译器会先取出vfptr的值,这个值就是虚函数表vftable的地址,再根据这个值来到vftable中调用目标函数。所以,只要vfptr不同,指向的虚函数表vftable就不同,而不同的虚函数表中存放着对应类的虚函数地址,这样就实现了多态的”效果“。

以上就是详解C++虚函数的工作原理的详细内容,更多关于C++虚函数的资料请关注易采站长站其它相关文章!