Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Que es?? ->

Estas en el tema de Que es?? -> en el foro de C/C++ en Foros del Web. Hola, estoy empezando en c++, y he visto en varios codigos una flechita "->" la cual no se que hace, se manejar clases, estructuras y ...
  #1 (permalink)  
Antiguo 18/11/2007, 20:20
Avatar de TheJez  
Fecha de Ingreso: agosto-2004
Ubicación: México - Distrito Federal
Mensajes: 176
Antigüedad: 20 años, 3 meses
Puntos: 0
Que es?? ->

Hola, estoy empezando en c++, y he visto en varios codigos una flechita "->" la cual no se que hace, se manejar clases, estructuras y estoy aprendiendo apuntadores, pero no se que hace esta flechita alguien me podria decir??
__________________
"Knowledge is power..."
"Conocimiento es poder"
TheJez^
  #2 (permalink)  
Antiguo 19/11/2007, 06:46
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 18 años, 5 meses
Puntos: 28
Re: Que es?? ->

Se llama operador flecha y es usado cuando quieres acceder a un miembro de una clase a la que estás apuntando con determinado puntero, es decir, supongamos que tienes el siguiente código:

Código:
ClaseX objetoA;
objetoA.propiedad = 123;
objetoA.metodo1();
Estás declarando un objeto llamado "objetoA" del tipo "ClaseX" y estás modificando una propiedad y ejecutando un método, ahora supongamos que tenemos un puntero que "apunta" a objetoA:
Código:
ClaseX objetoA;
ClaseX *ptrObjetoA = &objetoA;
Para ejecutar el primer ejemplo usando el puntero puedes hacerlo de la siguiente manera:
Código:
ClaseX objetoA;
ClaseX *ptrObjetoA = &objetoA;
(*ptrObjetoA).propiedad = 123;
(*ptrObjetoA).metodo1();
Estás desreferenciando el puntero para poder acceder a objetoA, sin embargo también puedes hacerlo usando el operador flecha (es la manera en la que muchos programadores lo hacen);
Código:
ClaseX objetoA;
ClaseX *ptrObjetoA = &objetoA;
ptrObjetoA->propiedad = 123;
ptrObjetoA->metodo1();
Ese puntero puede ser un parámetro de una función (por mencionarte un ejemplo) o una estructura.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:02.