这种情况下调用的是父类的变量还是子类的变量?该怎么解决

这种情况下调用的是父类的变量还是子类的变量?
如果父类有一个函数,并且调用它的一个变量:
class A
{
public:
  int xx;
  int fun(int xx)
  {
  cout << xx;
  return 0;
  }
}

子类定义了一个同名的变量(应该是覆盖了父类的同名变量)
class B:public A
{
  int xx;
}

那么以子类对象名调用函数fun,那么使用的子类的变量xx?还是父类的变量xx?
B b;
b.fun;


------解决方案--------------------
调用的是子类的变量,对于覆盖成员,无论父类fun是否声明为virtual,使用子类调用函数访问的都是子类的成员,要访问父类被覆盖的成员,需加上父类名称,如A::xx