fork download
  1. #include <iostream>
  2. #include <functional>
  3. using namespace std;
  4.  
  5. // 2 unrelated classes
  6. class A
  7. {
  8. public:
  9. void func() { cout << "in A::func\n"; }
  10. };
  11.  
  12. class B
  13. {
  14. public:
  15. void func() { cout << "in B::func\n"; }
  16. };
  17.  
  18. int main()
  19. {
  20. A a;
  21. B b;
  22.  
  23. function<void()> f; // a generic function that returns void and takes no params
  24.  
  25. f = bind(&A::func, &a);
  26. f(); // <- calls A::func
  27.  
  28.  
  29. f = bind(&B::func, &b);
  30. f(); // <- calls B::func
  31. }
Success #stdin #stdout 0s 3476KB
stdin
Standard input is empty
stdout
in A::func
in B::func