8

当“virtual”在“class Foo : public virtual Bar”而不是“virtual void frob()”中是什么意思?

对于给定的方法,有 8 个案例源于以下三个位置是否存在虚拟。

  1. 超类的功能。
  2. 这个类的继承链。
  3. 此类功能。

我想我了解数字 1 和 3 的交互方式,但数字 2 似乎是多余的。是吗?我不明白什么?

4

1 回答 1

11

那是虚拟继承,当你知道你将进行多重继承时,你就会这样做。该页面更详细。

于 2009-05-08T17:36:07.713 回答