fork download
  1. #include <functional>
  2. #include <iostream>
  3.  
  4. class TestClass {
  5. private:
  6. int i;
  7. public:
  8. TestClass(int i_): i(i_) {}
  9. void func0() const { std::cout << "func0: " << i << std::endl; }
  10. void func1() {
  11. i += 1;
  12. std::cout << "func1: " << i << std::endl;
  13. }
  14. };
  15.  
  16. int main() {
  17. std::function<void (const TestClass&)> f0 = &TestClass::func0;
  18. std::function<void (TestClass&)> f1 = &TestClass::func1;
  19.  
  20. TestClass c10(10);
  21. f0(c10);
  22. f1(c10);
  23.  
  24. TestClass c100(100);
  25. f0(c100);
  26. f1(c100);
  27. }
Success #stdin #stdout 0s 4548KB
stdin
Standard input is empty
stdout
func0: 10
func1: 11
func0: 100
func1: 101