c++ - C++多继承虚函数如何访问派生类字段?
问题描述
参考多重继承内存布局,假设Derived
类有一个名为int derived_only
. 如果我有一个Base1 * b1
and Base2 * b2
,它们都指向同一个Derived
类对象,那么根据wiki,b1
并且b2
由于指针修复而具有略微不同的值。我的问题是,如果我调用一个虚函数,说virtual clone()
,通过使用b1
or b2
,如何从orclone()
计算derived_only
地址?b1
b2
基本上,调用b1->clone()
vs时b2->clone()
,this
传入的指针是不同的,那么如何clone()
知道要添加多少偏移量才能this
到达derived_only
?
解决方案
推荐阅读
- laravel - 如何将cookie从后端(laravel)发送到前端?
- python - 如何在不使用 REGEX 的情况下删除具有特定模式的字符串?
- java - 如何将二维阵列板转换为等距板
- clang - clang 7.0.0 windows 不包括 LLDB 吗?
- android - 无法使用 fopen() 打开文件。fprintf 在 android ndk 中崩溃
- php - 如何从输出流访问 php 中的 json?
- angular - Angular - 带有回调的承诺
- vue.js - 何时使用
对比 - python - DFT 中的 3 个主要频率和列表中 3 个主要频率的能量
- jboss - JBoss:无法添加数据源