我目前有一个钻石设计,我在这里看到了一个相关的问题
在那个问题中,我假设 B 类和 C 类是从 A 类虚继承的,所以在 D 类中,当我们需要调用虚函数时,我们需要指定需要调用哪个虚函数。
D::foo()
{
B::foo(); //specify foo() in B
}
对于我的菱形设计,我有很多虚函数要重写,以便让这些函数被正确的 B 或 C 父类函数调用。
不好,需要做很多重复的工作,当我有子类时,你有没有更好的解决方案,以便我可以在 D 类中调用 B 的 foo() 但不重写上面的示例。