#include <iostream>

class A
{
  public:
    virtual void foo() = 0;
  /* ... */
};
 
void A::foo()
{
  std::cout << "A::foo()" << std::endl;
} 
 
class B : public A
{
  public:
    virtual void foo();
};
 
void B::foo()
{
  std::cout << "B::foo() - ";
  A::foo();
}
 
int main()
{
  B b;
 
  b.foo();
 
  b.A::foo();
}
