#include <iostream>

class Hoge {
private:
  int a;
  void f() { std::cout << "hoge:" << a << std::endl; }
public:
  void (Hoge::*g())() { return &Hoge::f; }
  Hoge(int a) { this->a = a; }
};

int main() {
  Hoge *hoge = new Hoge(300);
  (hoge->*(hoge->g()))();
  delete hoge;
}
/* end */
