class A
{
  public:
  virtual int number(){return 0;}
};

class B: A
{
  public:
  int number() {return 1;}
  void test()
  {
    int n1 = number();
    assert(n1==1);
    int n2 = ::A::number();
    assert(n2 == 0);
  }
};

int main()
{
  B b;
  b.test();
}
