1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | #include <iostream> #include <boost/function.hpp> #include <boost/bind.hpp> using namespace std; class Callback { public: void set_callback_function( boost::function<void()> function ) { this->callback_function = function; } void execute_callback_function() { if( !callback_function.empty() ) callback_function(); } private: boost::function<void ()> callback_function; }; class MiClase { public: void funcion() { cout <<"¡iujú! ¡Si se llamó!" <<endl; } }; int main() { Callback callback; MiClase miclase; callback.set_callback_function( boost::bind( &MiClase::funcion, &miclase ) ); callback.execute_callback_function(); return EXIT_SUCCESS; } |
I2luY2x1ZGUgPGlvc3RyZWFtPgoKI2luY2x1ZGUgPGJvb3N0L2Z1bmN0aW9uLmhwcD4KI2luY2x1ZGUgPGJvb3N0L2JpbmQuaHBwPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIENhbGxiYWNrIHsKCiAgcHVibGljOgoKICAgICB2b2lkIHNldF9jYWxsYmFja19mdW5jdGlvbiggYm9vc3Q6OmZ1bmN0aW9uPHZvaWQoKT4gZnVuY3Rpb24gKSB7CgogICAgICAgdGhpcy0+Y2FsbGJhY2tfZnVuY3Rpb24gPSBmdW5jdGlvbjsKCiAgICAgfQoKICAgICB2b2lkIGV4ZWN1dGVfY2FsbGJhY2tfZnVuY3Rpb24oKSB7CgogICAgICAgaWYoICAhY2FsbGJhY2tfZnVuY3Rpb24uZW1wdHkoKSApCgogICAgICAgICAgY2FsbGJhY2tfZnVuY3Rpb24oKTsKCiAgICAgfQoKICBwcml2YXRlOgoKICAgICBib29zdDo6ZnVuY3Rpb248dm9pZCAoKT4gY2FsbGJhY2tfZnVuY3Rpb247Cgp9OwoKY2xhc3MgTWlDbGFzZSB7CgogIHB1YmxpYzoKCiAgICAgdm9pZCBmdW5jaW9uKCkgewoKICAgICAgICBjb3V0IDw8IsKhaXVqw7ohIMKhU2kgc2UgbGxhbcOzISIgPDxlbmRsOwoKICAgICB9Cgp9OwoKaW50IG1haW4oKSB7CgogIENhbGxiYWNrIGNhbGxiYWNrOwoKICBNaUNsYXNlIG1pY2xhc2U7CgogIGNhbGxiYWNrLnNldF9jYWxsYmFja19mdW5jdGlvbiggYm9vc3Q6OmJpbmQoICZNaUNsYXNlOjpmdW5jaW9uLCAmbWljbGFzZSApICk7CgogIGNhbGxiYWNrLmV4ZWN1dGVfY2FsbGJhY2tfZnVuY3Rpb24oKTsKCiAgcmV0dXJuIEVYSVRfU1VDQ0VTUzsKCn0K
-
upload with new input
-
result: Success time: 0s memory: 2684 kB returned value: 0
¡iujú! ¡Si se llamó!
-
result: Success time: 0s memory: 0 kB returned value: 0
¡iujú! ¡Si se llamó!



