当"虚拟"在"Foo类:公共虚拟栏"中而不是"虚拟空白frob()"时,它意味着什么?

Sam*_*son 8 c++ virtual

当"虚拟"在"Foo类:公共虚拟栏"中而不是"虚拟空白frob()"时,它意味着什么?

对于给定的方法,有8个案例源于以下三个位置存在或不存在虚拟.

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

我想我理解数字1和3如何相互作用,但数字2似乎是多余的.是吗?我不明白的是什么?

Ste*_*e M 11

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