#include <iostream>
class C {
private:
int a;
void h() { std::cout << "C::a = " << this->a << std::endl; }
public:
C(int a) : a(a) {}
void (C::*g())() { return &C::h; }
};
int main() {
C *obj = new C(12345);
void (C::*f)();
f = obj->g();
(obj->*(f))();
delete obj;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgQyB7CnByaXZhdGU6CiAgaW50IGE7CiAgdm9pZCBoKCkgeyBzdGQ6OmNvdXQgPDwgIkM6OmEgPSAiIDw8IHRoaXMtPmEgPDwgc3RkOjplbmRsOyB9CnB1YmxpYzoKICBDKGludCBhKSA6IGEoYSkge30KICB2b2lkIChDOjoqZygpKSgpIHsgcmV0dXJuICZDOjpoOyB9Cn07CgppbnQgbWFpbigpIHsKICBDICpvYmogPSBuZXcgQygxMjM0NSk7CgogIHZvaWQgKEM6OipmKSgpOwogIGYgPSBvYmotPmcoKTsKICAob2JqLT4qKGYpKSgpOwoKICBkZWxldGUgb2JqOwogIHJldHVybiAwOwp9CgogIA==