#include <iostream>
#include <functional>
class Human
{
std::function<void()> mFunc;
public:
void setMyFunction(std::function<void()> func) { mFunc = func; }
void callMyFunction() { if (mFunc) mFunc(); }
};
void someRandomFunction() { std::cout << "Hello world\n"; }
int main()
{
Human lisa;
lisa.setMyFunction(&someRandomFunction);
lisa.callMyFunction();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KCmNsYXNzIEh1bWFuCnsKICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBtRnVuYzsKcHVibGljOgogICAgdm9pZCBzZXRNeUZ1bmN0aW9uKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBmdW5jKSB7IG1GdW5jID0gZnVuYzsgfQogICAgdm9pZCBjYWxsTXlGdW5jdGlvbigpIHsgaWYgKG1GdW5jKSBtRnVuYygpOyB9Cn07Cgp2b2lkIHNvbWVSYW5kb21GdW5jdGlvbigpIHsgc3RkOjpjb3V0IDw8ICJIZWxsbyB3b3JsZFxuIjsgfQoKaW50IG1haW4oKQp7CiAgICBIdW1hbiBsaXNhOwogICAgCiAgICBsaXNhLnNldE15RnVuY3Rpb24oJnNvbWVSYW5kb21GdW5jdGlvbik7CiAgICBsaXNhLmNhbGxNeUZ1bmN0aW9uKCk7Cn0K