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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  No me acuerdo de lo que hacian "." "->"
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No me acuerdo de lo que hacian "." "->"  (Leído 1,860 veces)
anonimo12121


Desconectado Desconectado

Mensajes: 1.813


Ver Perfil WWW
No me acuerdo de lo que hacian "." "->"
« en: 23 Marzo 2011, 13:19 pm »

Hola es que no me acuerdo donde lo leí lo que hacía "." y "->" se que era algo de clases y punteros. Pero no me acuerdo xDD.

Podría ser que "->" se use acceder a un miembro de una clase puntero. Y "." para acceder al miembro de una clase "normal".

Por ejemplo:

Código
  1. typedef struct {
  2.   Uint32 flags;
  3.   SDL_PixelFormat *format;
  4.   int w;
  5.   int h;
  6.   Uint16 pitch;
  7.   void *pixels;
  8.   SDL_Rect clip_rect;
  9.   int refcount;
  10. } SDL_Surface;
  11.  
  12. int w;
  13. SDL_Surface *imagen;
  14. w=imagen->w;
  15.  
  16. //en caso de ser
  17. SDL_Surface imagen;
  18. w=imagen.w;


Saludos




Edito:
Ya que estamos XD.
Me da este error `ct' undeclared (first use this function)
Código
  1.  
  2. class sprite{
  3.    private:
  4.        SDL_Surface *imagen;//imagen
  5.        SDL_Rect pos;//posicion de la imagen
  6.        SDL_Color ct;//color predeterminado verde
  7.    public:
  8.        sprite();//constructor para asginar valores a las variables
  9.        void carga_imagen(char *name);//carga una imagen con el nombre indicado
  10.        void colorkey(int r,int g,int b);//para cambiar el color transparente si uno quiere por defecto e puesto que sea el verde
  11.        void ver_sprite(SDL_Surface &scr);//para copiar la imagen a la pantalla.
  12. };
  13. sprite::sprite(){
  14.    ct.r=0;
  15.    ct.g=255;
  16.    ct.b=0;
  17. };
  18. void sprite::carga_imagen(char *name){
  19.     imagen=SDL_LoadBMP(name);
  20.     pos.w=imagen->w;
  21.     pos.h=imagen->h;
  22.     SDL_SetColorKey(imagen,SDL_SRCCOLORKEY,SDL_MapRGB(imagen->format,ct.r,ct.g,ct.b));
  23. };
  24. void colorkey(int r,int g,int b){
  25.    ct.r=r;// aqui me dice `ct' undeclared (first use this function)
  26.    ct.g=g;
  27.    ct.b=b;
  28. };
  29. void sprite::ver_sprite(SDL_Surface &scr){
  30.    SDL_BlitSurface(imagen,0,&scr,&pos);
  31. };code]
Por cierto
Código
  1. typedef struct {
  2.   Uint8 r:
  3.   Uint8 g;
  4.   Uint8 b;
  5.   Uint8 unused;
  6. } SDL_Color;
  7.  


« Última modificación: 23 Marzo 2011, 15:21 pm por Xafi » En línea

Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746
Don Pollo

Desconectado Desconectado

Mensajes: 74

/* No comments */


Ver Perfil
Re: No me acuerdo de lo que hacian "." "->"
« Respuesta #1 en: 23 Marzo 2011, 15:39 pm »

Pero qué es ct?


En línea

oxydec

Desconectado Desconectado

Mensajes: 42



Ver Perfil
Re: No me acuerdo de lo que hacian "." "->"
« Respuesta #2 en: 23 Marzo 2011, 15:47 pm »

Es exactamente es lo que dices:

"." se usa para acceder a los miembros de una clase/struct
"->" se usa para acceder a los miembros de una clase/struct a traves de un puntero

Sobre el error de ct creo que:

Código
  1. void colorkey(int r,int g,int b){
  2.    ct.r=r;// aqui me dice `ct' undeclared (first use this function)
  3.    ct.g=g;
  4.    ct.b=b;
  5. };
  6.  

deberia ser:

Código
  1. void sprite::colorkey(int r,int g,int b){ // falta decirle a que clase pertenece sino no encuentra ct
  2.    ct.r=r;// ahora ct ya esta declarado
  3.    ct.g=g;
  4.    ct.b=b;
  5. };
  6.  
« Última modificación: 23 Marzo 2011, 15:49 pm por oxydec » En línea

Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: No me acuerdo de lo que hacian "." "->"
« Respuesta #3 en: 23 Marzo 2011, 15:50 pm »

Tal como te han dicho ya,  el operador . se utiliza para acceder al campo de una clase / estructura. el operador -> no es más que la abreviatura de " (*puntero). ", es decir, de lo apuntado por puntero, el campo después del punto.

Y como ya te ha dicho oxydec, Si colorkey es un miembro de la clase sprite, su implementación debe llevar el nombre de la clase a la cual pertenece.

PD: contestó mientras escribía el mensaje, así que lo he adecuado un poco
En línea

oxydec

Desconectado Desconectado

Mensajes: 42



Ver Perfil
Re: No me acuerdo de lo que hacian "." "->"
« Respuesta #4 en: 23 Marzo 2011, 15:58 pm »


PD: contestó mientras escribía el mensaje, así que lo he adecuado un poco

xD Mientras escribia tenia el presentimiento de que si no posteaba rapido la respuesta llegaria tarde.
En línea

anonimo12121


Desconectado Desconectado

Mensajes: 1.813


Ver Perfil WWW
Re: No me acuerdo de lo que hacian "." "->"
« Respuesta #5 en: 23 Marzo 2011, 16:31 pm »

Jaja

Gracias sois los mejores XDD

sprite:: "típico  fallo de sintasix XDD"

No sé, si os pasara a veces que no encontráis un fallo tonto como este. XDD


Pero qué es ct?


Es una estructura se puede ver más abajo que lo he puesto.
En línea

Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
"""BUSCO EJEMPLO VB PARA ENVIAR MAILS""""
Programación Visual Basic
gera 1 6,337 Último mensaje 1 Septiembre 2005, 00:14 am
por programatrix
De donde puedo descargar utilidades: "Formas", "Estilos", "Motivos", D
Diseño Gráfico
Ad0nis 2 8,373 Último mensaje 2 Septiembre 2006, 15:48 pm
por Ad0nis
[Ayuda] modificar "start page" en "internet explorer" con "batch"
Scripting
taton 7 16,623 Último mensaje 20 Septiembre 2006, 01:45 am
por taton
Propiedad "Interprete"/"Artista"/"Autor" de una canción
Windows
Castg! 4 8,245 Último mensaje 16 Junio 2010, 07:58 am
por Roy-Mustang
Sistema>>Administracion>> ""No me aparece "Servicios""""
GNU/Linux
yoyoalee 4 9,107 Último mensaje 13 Febrero 2011, 18:34 pm
por leogtz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines