关于cocos2d-x中CCApplication::run()函数的疑问

int CCApplication::run()
{
    // ......

    // Initialize instance and cocos2d.
    if (!applicationDidFinishLaunching())
    {
        return 0;
    }

    // ......
}


```


我用debug发现调用的applicationDidFinishLaunching()是AppDelegate类的,但是AppDelegate类不是CCApplication的子类吗?难道是父类调用子类方法,有这样的cpp机制吗?想了很久不是很明白,希望有大神给与解答。

看上面有

// create the application instance
AppDelegate app;

初始化的时候,会调用父类CCApplication的构造函数,

ccapplication里,有一个东西,全局唯一实例

// sharedApplication pointer
CCApplication * CCApplication::sm_pSharedApplication = 0;

其实这两个就是一个东西

明白了,谢谢啦!