多重继承--菱形继承
多重继承--菱形继承
以上两种图形:菱形和半圆形都是多重继承中容易出现的问题,导致的同一结果就是出现了相同的变量,显然这是需要解决的。当然这也是多重继承中最需要解决的问题,而Java则是把多重继承去掉了。

解决的办法就是使用虚基类:
在B和C的继承前面分别加上关键字virtual,然后ma就会自动的移动到最下面,此时有两个ma,所以在第二次移动的时候会发现重复,所以在最下面设置一个ma就足够了,并且在原来的ma的位置上都添加上vbptr,就可以了。

相关文章:

  • 2021-08-27
  • 2021-09-25
  • 2021-08-05
  • 2021-12-18
  • 2021-08-06
  • 2022-12-23
  • 2021-09-22
猜你喜欢
  • 2021-11-14
  • 2022-01-06
  • 2021-07-30
  • 2021-10-23
  • 2021-06-30
相关资源
相似解决方案