Va por Punteros y declaraciones
Publicado por Nelek (816 intervenciones) el 03/03/2006 12:07:20
Hola a todos,
la situación es: Programo en VC++ y hasta el momento no me habia dado cuenta, pero resulta que he encontrado casos que no se por donde tomarlos.
Por ejemplo:
CButton* p_Button1 = (CButton*) GetDlgItem (IDC_BUTTON_1) <<- Esto declara un puntero de la clase CButton y se lo asigna al elemento en pantalla IDC_BUTTON_1 para poder usar las funciones heredadas desde CButton. Hasta aquí mas o menos claro, pero...
CWnd *p_Button2 = GetDlgItem (IDC_BUTTON_2) <-- Esto teoricamente hace lo mismo que arriba pero con el num2.
El programa es un ejemplo que encontre por la red y funciona.
Mi preguntas son:
Que diferencia hay en poner el * del puntero pegado a la clase (es decir: CButton* ) o pegado al objeto creado ( *p_Button2)?.
Y por que en la segunda declaración no hace falta poner de nuevo el "(CButton*)" que hay nada más después del signo igual en la primera?
Muchas Gracias de antemano, seguramente sea una tonteria, pero ahora no caigo y creo que es algo relevante.
la situación es: Programo en VC++ y hasta el momento no me habia dado cuenta, pero resulta que he encontrado casos que no se por donde tomarlos.
Por ejemplo:
CButton* p_Button1 = (CButton*) GetDlgItem (IDC_BUTTON_1) <<- Esto declara un puntero de la clase CButton y se lo asigna al elemento en pantalla IDC_BUTTON_1 para poder usar las funciones heredadas desde CButton. Hasta aquí mas o menos claro, pero...
CWnd *p_Button2 = GetDlgItem (IDC_BUTTON_2) <-- Esto teoricamente hace lo mismo que arriba pero con el num2.
El programa es un ejemplo que encontre por la red y funciona.
Mi preguntas son:
Que diferencia hay en poner el * del puntero pegado a la clase (es decir: CButton* ) o pegado al objeto creado ( *p_Button2)?.
Y por que en la segunda declaración no hace falta poner de nuevo el "(CButton*)" que hay nada más después del signo igual en la primera?
Muchas Gracias de antemano, seguramente sea una tonteria, pero ahora no caigo y creo que es algo relevante.
Valora esta pregunta
0