elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Acceso a mienbros no estaticos de clase a traves de estaticos en: 25 Septiembre 2014, 18:49 pm
eferion al analizar el codigo mas detenidamente y ahora entendiendolo deduzco que cuando yo llamo al metodo no estatico por medio del estatico, estoy ejecutando tambien el metodo estatico (o sea que si el metodo estatico modifica alguna variable o hace algo en ese momento lo estaria haciendo) esto lo deduzco porque si devuelve un puntero a la clase es porque se ejecuto el metodo estatico, ES ASI COMO PIENSO?

Código
  1. std::cout << POO::MetodoEstatico( )->dato( );

en este caso primero ejecuta MetodoEstatico para poder tener el puntero, y despues estaria ejecutando dato().

Gracias Javier.
2  Programación / Programación C/C++ / Re: Acceso a mienbros no estaticos de clase a traves de estaticos en: 24 Septiembre 2014, 23:07 pm
Gracias, muchas gracias eferion, me sacaste la venda de los ojos, tenia la respuesta frente a mi, pero a veces si no te lo explica otra persona uno no cae en la cuenta. Entonces lo que hace el metodo estatico es devolver el puntero de la clase es por eso que puedo acceder a los metodos no estaticos sin tener una instancia de la clase. Yo buscaba algo mas complicado pense que de alguna manera cuando compilaba el compilador sabia que el metodo estatico apuntaba a la clase (ya que la clase puede no estar instanciada y no existir ningun objeto de esa clase). Es justo lo que buscaba y si el framework con el que trabajo tiene solo una copia de ciertas clases no sabia que se llamaba programacion Singleton, voy a leer un poco mas acerca de esto. Saludos Javier.
3  Programación / Programación C/C++ / Acceso a mienbros no estaticos de clase a traves de estaticos en: 24 Septiembre 2014, 16:25 pm
Hola amigos, me ha surgido una gran duda y quería compartirla para ver si alguien que la tenga clara me puede abrir el horizonte. Resulta que estoy trabajando con un framework para realizar juegos, y he visto que ocupan mucho lo que voy a explicar a continuación, que por lo visto es valido porque compila sin problemas y además anda bien y me esta funcionando, sin mas preámbulos paso a explicar mi duda.
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
  1. #ifndef __CC_EGLVIEW_ANDROID_H__
  2. #define __CC_EGLVIEW_ANDROID_H__
  3.  
  4. #include "cocoa/CCGeometry.h"
  5. #include "platform/CCEGLViewProtocol.h"
  6.  
  7. NS_CC_BEGIN
  8.  
  9. class CC_DLL CCEGLView : public CCEGLViewProtocol
  10. {
  11. public:
  12.    CCEGLView();
  13.    virtual ~CCEGLView();
  14.  
  15.    bool    isOpenGLReady();
  16.  
  17.    // keep compatible
  18.    void    end();
  19.    void    swapBuffers();
  20.    void    setIMEKeyboardState(bool bOpen);
  21.  
  22.    // static function
  23.    /**
  24.     @brief    get the shared main open gl window
  25.     */
  26.    static CCEGLView* sharedOpenGLView(); METODO ESTATICO
  27. };
  28.  
  29. NS_CC_END
  30.  
  31. #endif    // end of __CC_EGLVIEW_ANDROID_H__


Y HACEN COSAS COMO ESTAS CON ESTE METODO ESTATICO

Código
  1. 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.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines