c – 什么是多重虚拟继承?

class foo : public virtual bar, public virtual kung
{
  // implementation of the method of the above inherited class
};

bar和kung类是一个抽象类,它包含在foo clas中实现的纯虚方法.

有什么用?

最佳答案
在你的情况下,如果bar和kung是派生得最多的基类,只要没有bar和kung中的方法发生冲突就会没有区别,但如果确实如此,你就会知道它,即编译器在模糊定义中的错误.

有关此问题的更多信息,请参见c faq:http://www.parashift.com/c++-faq-lite/multiple-inheritance.html#faq-25.9

转载注明原文:c – 什么是多重虚拟继承? - 代码日志