다음 코드는 클래스 B에서 함수 F를 호출하지만 누군가 제게 왜 그런지 설명해 줄 수 있습니다. B 클래스의 메서드가 V 클래스의 메서드를 오버로드 할 가능성이 있습니까 (B가 V에서 상속 되었기 때문에)? 미리 감사드립니다.C++에서의 클래스 상속
#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();
}