该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处
本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105043638
简介
虚函数是C++实现多态的机制,那么它是如何做到的呢?
以下通过反汇编探索虚函数内存模型,查看虚函数实现多态的过程。
工具
Visual studio 2017:以下程序仅做VC++编译器下的32位程序探讨,其他编译器与64位程序所产生的差异不作讨论。
反汇编过程
首先声明一个不包含虚函数的简单C++类,如下:

在构造函数中加入断点,使得反汇编构造函数代码,如图:

当运行到断点时&#