- #include <iostream> 
-   
- struct Base 
- { 
- 	void test( void (Base::*fncPtr)() ) 
- 	{ 
- 		(this->*fncPtr)(); 
- 	} 
- }; 
-   
- struct Derived : public Base 
- { 
- 	void method() 
- 	{ 
- 		std::cout << "it works"; 
- 	} 
- }; 
-   
- int main() 
- { 
- 	Derived d; 
- 	d.test(static_cast<void (Base::*)()>(&Derived::method)); 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IEJhc2UKewoJdm9pZCB0ZXN0KCB2b2lkIChCYXNlOjoqZm5jUHRyKSgpICkKCXsKCQkodGhpcy0+KmZuY1B0cikoKTsKCX0KfTsKCnN0cnVjdCBEZXJpdmVkIDogcHVibGljIEJhc2UKewoJdm9pZCBtZXRob2QoKQoJewoJCXN0ZDo6Y291dCA8PCAiaXQgd29ya3MiOwoJfQp9OwoKaW50IG1haW4oKQp7CglEZXJpdmVkIGQ7CglkLnRlc3Qoc3RhdGljX2Nhc3Q8dm9pZCAoQmFzZTo6KikoKT4oJkRlcml2ZWQ6Om1ldGhvZCkpOwp9