#include <iostream>
#include <functional>
using namespace std;
int doble(int x) {
return x * 2;
}
class Doblador {
public:
int operator()(int x) {
return x * 2;
}
};
int main() {
Doblador d;
function<int(int)> f = doble;
cout << "Doble de 2 = " << f( 2 ) << endl;
f = d;
cout << "Doble de 2 = " << f( 2 ) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBkb2JsZShpbnQgeCkgewoJcmV0dXJuIHggKiAyOwp9CgpjbGFzcyBEb2JsYWRvciB7CnB1YmxpYzoKCWludCBvcGVyYXRvcigpKGludCB4KSB7CgkJcmV0dXJuIHggKiAyOwoJfQp9OwoKaW50IG1haW4oKSB7CglEb2JsYWRvciBkOwoJZnVuY3Rpb248aW50KGludCk+IGYgPSBkb2JsZTsKCQoJY291dCA8PCAiRG9ibGUgZGUgMiA9ICIgPDwgZiggMiApIDw8IGVuZGw7CgkKCWYgPSBkOwoJY291dCA8PCAiRG9ibGUgZGUgMiA9ICIgPDwgZiggMiApIDw8IGVuZGw7CgkKCXJldHVybiAwOwp9