【发布时间】:2010-10-02 05:43:34
【问题描述】:
想象一下标准的钻石继承。 A 类定义了纯虚函数 fx,B 类定义了 fx 的实现,C 类和 D 类对 fx 没有任何作用。当尝试在 D 类的实例上调用 fx 时,您将收到“模糊函数调用”错误,尽管 fx 只有一种实现。这可以通过 B 和 C 以虚拟方式从 A 继承来解决。它是解决问题的正确解决方案吗?虚继承究竟是如何处理虚函数表的合并的?
A--->B--->D
\--->C------^
【问题讨论】:
标签: c++ function inheritance virtual