C++:如何用简单的汇编指令,实现C++复杂抽象的面向对象概念?——「7、多继承(虚函数表/Thunk函数)」

2023-07-25
阅读 18 分钟
722
上述代码主要看main函数的注释就能明白,其实多继承动态绑定的实现原理,本质就是,第1个父类对象的虚函数表地址,直接替换为子类的虚函数表地址,后面所有父类对象的虚函数表地址,全都替换为它们对应的那个Thunk函数的地址,在这个函数里会跳转this指针,本来指向的是父类对象,调整后直接指向了子类对象的虚函数表地...