>>354
#include <iostream>

struct a
{
  void f(){std::cout << "f\n";}
  void g(){std::cout << "g\n";}
};

struct b : public a
{
private:
  using a::f;
};

int main()
{
  b x;
  x.f(); /* エラー: b::fはprivate */
  ((a &)x).f(); /* ok */
}