首页 > 解决方案 > C++多继承虚函数如何访问派生类字段?

问题描述

参考多重继承内存布局,假设Derived类有一个名为int derived_only. 如果我有一个Base1 * b1and Base2 * b2,它们都指向同一个Derived类对象,那么根据wikib1并且b2由于指针修复而具有略微不同的值。我的问题是,如果我调用一个虚函数,说virtual clone(),通过使用b1or b2,如何从orclone()计算derived_only地址?b1b2

基本上,调用b1->clone()vs时b2->clone()this传入的指针是不同的,那么如何clone()知道要添加多少偏移量才能this到达derived_only

标签: c++multiple-inheritancevirtual-functions

解决方案


推荐阅读