fork download
  1. #include <stdio.h>
  2. #include <cstdlib>
  3.  
  4. template <class CLASSNAME>
  5. class a
  6. {
  7. public:
  8. typedef void (CLASSNAME::*myFunction)();
  9.  
  10. a(CLASSNAME& myObject, myFunction callback) :
  11. m_myObject(myObject)
  12. {
  13. m_myFuntion = callback;
  14. }
  15.  
  16. void update()
  17. {
  18. (m_myObject.*m_myFuntion)();
  19. }
  20.  
  21. myFunction m_myFuntion;
  22. CLASSNAME& m_myObject;
  23. };
  24.  
  25.  
  26. class dummy
  27. {
  28. public:
  29. dummy()
  30. {
  31. var = 14;
  32. }
  33.  
  34.  
  35. void func()
  36. {
  37. printf("func!!");
  38. }
  39.  
  40. int var;
  41. };
  42.  
  43.  
  44. int main()
  45. {
  46. dummy dum;
  47.  
  48. a<dummy> avar(dum, &dummy::func);
  49.  
  50. avar.update();
  51. }
Success #stdin #stdout 0s 3412KB
stdin
Standard input is empty
stdout
func!!