#include <iostream>
struct Scene
{
void (Scene::*m_pRenderFunc)();
Scene() : m_pRenderFunc(&Scene::fn1) {}
void fn1() {
std::cout << "fn1 is called\n";
}
void fn2() {
(this->*m_pRenderFunc)();
}
};
int main()
{
Scene sc;
sc.fn2();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgpzdHJ1Y3QgU2NlbmUKewogICAgdm9pZCAoU2NlbmU6OiptX3BSZW5kZXJGdW5jKSgpOwogICAgU2NlbmUoKSA6IG1fcFJlbmRlckZ1bmMoJlNjZW5lOjpmbjEpIHt9CiAgICB2b2lkIGZuMSgpIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgImZuMSBpcyBjYWxsZWRcbiI7CiAgICB9CiAgICB2b2lkIGZuMigpIHsKICAgICAgICAodGhpcy0+Km1fcFJlbmRlckZ1bmMpKCk7CiAgICB9Cn07CmludCBtYWluKCkKewogICAgU2NlbmUgc2M7CiAgICBzYy5mbjIoKTsKfQo=