以下代码将从 B 类调用函数 F,但有人可以向我解释为什么会这样。B类的方法是否有可能重载V类的方法(因为B是从V继承的)?提前致谢。
#include <iostream>
using namespace std;
class V{
public:
void f(){ x+=2; cout << "V:"<< x;};
int x;
};
class B: public virtual V{
public:
void f(){ x+=3; cout << "B:"<< x;};
int x;
};
class D: public B, virtual public V{
public:
void g(){ x++; f(); }
};
void main(){
D ins;
ins.x = 1;
ins.g();
}