Tengo una clase llamémosla X , que hereda de la clase que la vamos a llamar Y, resulta que la clase X tiene un método estatico, y mi duda es la siguiente: por medio de ese método estatico pueden acceder a cualquiera de los métodos no estáticos de las dos clases e invocarlos. Lo pongo con código para que se entienda mejor, no entiendo como es esto posible. Como ese método estatico permite apuntar e invocar a cualquier método no estatico de las clases.
Código
#ifndef __CC_EGLVIEW_ANDROID_H__ #define __CC_EGLVIEW_ANDROID_H__ #include "cocoa/CCGeometry.h" #include "platform/CCEGLViewProtocol.h" NS_CC_BEGIN class CC_DLL CCEGLView : public CCEGLViewProtocol { public: CCEGLView(); virtual ~CCEGLView(); bool isOpenGLReady(); // keep compatible void end(); void swapBuffers(); void setIMEKeyboardState(bool bOpen); // static function /** @brief get the shared main open gl window */ static CCEGLView* sharedOpenGLView(); METODO ESTATICO }; NS_CC_END #endif // end of __CC_EGLVIEW_ANDROID_H__
Y HACEN COSAS COMO ESTAS CON ESTE METODO ESTATICO
Código
CCEGLView::sharedOpenGLView()->setDesignResolutionSize(designSize.width, designSize.height, kResolutionShowAll);
EN DONDE EL METODO setDesignResolutionSize() ES UN METODO NO ESTATICO DE LA CLASE BASE CCEGLViewProtocol. NO ENTIENDO COMO SE APUNTA . CCEGLViewProtocol es la clase base y tiene el método setDesignResolutionSize que lo puedo invocar por medio de un método estatico de la clase derivada CCEGLView.
Bueno espero q me tiren un salvavidas asi puedo entender mejor lo que esta sucediendo. Gracias Javier.