猿问

c++虚函数的问题

如果一个类中有个多个虚函数,当通过vptr指针去虚函数表调用虚函数时,怎么知道要调用的是哪一个呢?

噜噜哒
浏览 779回答 1
1回答

子衿沉夜

编译器会分析这个类以及其父类中的每一个虚函数,以此为依据制作一张虚函数表,其中依次存放这些函数的入口地址。然后,代码中所有调用这些函数的地方都会被替换成虚函数指针+对应函数偏移,这样就可以找到要调用的函数了。
随时随地看视频慕课网APP
我要回答