fork download
  1. #include <iostream>
  2.  
  3. struct Functor {
  4. Functor(int a, int b, int & c) :
  5. captured_a(a),
  6. captured_b(b),
  7. captured_c(c)
  8. {
  9. }
  10.  
  11. int operator()(int arg1, int arg2)
  12. {
  13. captured_c = arg1 * arg2;
  14. return captured_a + captured_b + arg1 + arg2;
  15. }
  16.  
  17. private:
  18. int captured_a;
  19. int captured_b;
  20. int & captured_c;
  21. };
  22.  
  23. int main()
  24. {
  25. int a = 5,
  26. b = 10,
  27. c = 15;
  28. Functor f(a, b, c);
  29.  
  30. std::cout << "f(3, 4) == " << f(7, 8) << std::endl;
  31. std::cout << "c == " << c << std::endl;
  32.  
  33. return 0;
  34. }
  35.  
Success #stdin #stdout 0s 15232KB
stdin
Standard input is empty
stdout
f(3, 4) == 30
c == 56