| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
americo_bcb Lt

Registrado: 05 May 2004Mensajes: 84
|
Publicado: Jue 19 Ago, 2004 3:54 pm Asunto: static y dynamic |
|
|
Holas amigos, esta consulta es mas acerca de estas sentencias
y
la pregunta la hago ya que he visto en muchas aplicaciones que utilizan esa sentecia y la pura verdad estoy perdido si alguien pudiera sacarme de mi ignorancia estaria muy agradecido, cuando utilizarlas y como funcionan????
Américo
C++Builder lo Mejor de lo Mejor |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Jue 19 Ago, 2004 4:41 pm Asunto: |
|
|
static_cast, hace un moldeado entre tipos similares. Por ejemplo:
| Código: |
float f = 25.5;
int i = static_cast<int>(f);
|
o
| Código: |
void *p = Form1;
TForm *pForm = static_cast<TForm*>(p);
|
dynamic_cast nos permite el moldeado entre clases similares, ya sea porque derivan de una misma base o porque coinciden con el tipo buscado. Se resuelve en tiempo de ejecución y si no puede hacer el modelado devuelve 0:
| Código: |
TObject *Sender = new TEdit(this);
TCustomEdit *Edit = dynamic_cast<TCustomEdit*>(Sender);
// Modelado correcto, *Edit contendria un puntero al objeto
// ya que *Sender apunta a un objeto descendiente de TCustomEdit
TObject *Sender = new TEdit(this);
TLabel *Label = dynamic_cast<TLabel*>(Sender);
// Modelado incorrecto, *Label contendria un puntero nulo (0)
// ya que *Sender apunta a un objeto que no tiene relacion con TLabel
|
_________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
|