#include <iostream>
#include <functional>
using namespace std;
class C {
public:
void x() { cout << "Yes x!"<<endl; }
void y(int a) { cout << "Yes y"<<a<<"!"<<endl; }
};
int main() {
C c;
c.x();
c.y(3);
auto x = mem_fn(&C::x); // function object
auto y = mem_fn(&C::y);
x(c);
y(c,4);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIEMgewoJcHVibGljOgoJdm9pZCB4KCkgeyBjb3V0IDw8ICJZZXMgeCEiPDxlbmRsOyB9Cgl2b2lkIHkoaW50IGEpIHsgY291dCA8PCAiWWVzIHkiPDxhPDwiISI8PGVuZGw7IH0KfTsKCmludCBtYWluKCkgewoJQyBjOyAKCWMueCgpOyAKCWMueSgzKTsgCgkKCWF1dG8geCA9IG1lbV9mbigmQzo6eCk7ICAgIC8vIGZ1bmN0aW9uIG9iamVjdAoJYXV0byB5ID0gbWVtX2ZuKCZDOjp5KTsKCXgoYyk7Cgl5KGMsNCk7CgkKCXJldHVybiAwOwp9