fork download
  1. #include <cstdio> // for printf.
  2.  
  3. class A
  4. {
  5. public:
  6. A()
  7. {
  8. (this ->* A::table[0])();
  9. (this ->* A::table[1])();
  10. }
  11.  
  12.  
  13. static auto make_table() -> void (A::* *)()
  14. {
  15. static void(A::* data_tmp[])() = { &A::f1, &A::f2 };
  16. return data_tmp;
  17. }
  18. private:
  19. static void (A::* *table)();
  20. void f1() { std::printf("1\n"); }
  21. void f2() { std::printf("2\n"); }
  22. };
  23.  
  24. void (A::* *A::table)() = A::make_table();
  25.  
  26.  
  27.  
  28. auto main() -> int
  29. {
  30. A a;
  31. }
  32.  
Success #stdin #stdout 0s 3340KB
stdin
Standard input is empty
stdout
1
2