>>659
class Base
{
public:
 virtual void foo() const { cout << "Base::foo()\n"; }
};
class Derived : private Base
{
public:
 void foo() const { cout << "Derived::foo()\n"; }
 static void test()
 {
  const auto_ptr<Base> test(new Derived);
  test->foo();
 }
};