#include <iostream>
#include <functional>
class Foo
{
public:
std::function<int(int)> doit = [](int val){return ++val;};
};
int main() {
Foo foo;
std::cout << foo.doit(10) << '\n';
foo.doit = [](int val){return val*2;};
std::cout << foo.doit(10);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KCmNsYXNzIEZvbwp7CiAgcHVibGljOgogICAgc3RkOjpmdW5jdGlvbjxpbnQoaW50KT4gZG9pdCA9IFtdKGludCB2YWwpe3JldHVybiArK3ZhbDt9Owp9OwoKaW50IG1haW4oKSB7CiAgICBGb28gZm9vOwogICAgc3RkOjpjb3V0IDw8IGZvby5kb2l0KDEwKSA8PCAnXG4nOwogICAgZm9vLmRvaXQgPSBbXShpbnQgdmFsKXtyZXR1cm4gdmFsKjI7fTsKICAgIHN0ZDo6Y291dCA8PCBmb28uZG9pdCgxMCk7Cn0=