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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda sobre el typedef en las clases
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sobre el typedef en las clases  (Leído 3,351 veces)
class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Duda sobre el typedef en las clases
« en: 20 Abril 2016, 18:59 pm »

Hola, hoy presento una duda corta. Si en una clase tienes diversas definiciones de tipos, si estás tratando con un objeto, ¿puedes declarar una variable fuera de la clase del tipo que está definido en el objeto?

Código de ejemplo:
Código
  1. class Foo {
  2.    public:
  3.        typedef int tipo_entero;
  4.  
  5.    private:
  6.        /* Aquí las variables de la clase */
  7. };
  8.  
  9. ...
  10.  
  11. int main() {
  12.    Foo objeto;
  13.  
  14.    objeto.tipo_entero variable = 54;
  15.  
  16.    return 0;
  17. }

Evidentemente no estaría preguntando esto pudiendo proponer el ejemplo. Al intentar compilar el código de arriba me salta el siguiente error:
Código:
main.cpp: In function 'int main()':
main.cpp:12:12: error: invalid use of 'Foo::tipo_entero'
objeto.tipo_entero variable = 54;

Pues eso, me gustaría saber si se puede hacer lo que he preguntado. Muchas gracias anticipadamente!


En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
HardForo

Desconectado Desconectado

Mensajes: 219


HardForo.com


Ver Perfil WWW
Re: Duda sobre el typedef en las clases
« Respuesta #1 en: 20 Abril 2016, 19:07 pm »

Interpreto quisiste hacer esto:

Código
  1. class Foo {
  2.    typedef int tipo_entero;
  3.  
  4.    public:
  5.     tipo_entero valor;    
  6.  
  7.    private:
  8.        /* Aquí las variables de la clase */
  9. };
  10.  
  11.  
  12. int main(void) {
  13.    Foo objeto;
  14.  
  15.    objeto.valor = 54;    
  16.  
  17.    return 0;
  18. }
  19.  

Desde el exterior, el tipo de valor es int ya que no esta declarado en ese ámbito.


« Última modificación: 20 Abril 2016, 19:10 pm por boctulus » En línea

HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Duda sobre el typedef en las clases
« Respuesta #2 en: 20 Abril 2016, 19:08 pm »

Un typedef no es cosa de objeto. Es cosa de la clase.
Código
  1. Foo::tipo_entero k = 54;
En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: Duda sobre el typedef en las clases
« Respuesta #3 en: 20 Abril 2016, 19:14 pm »

Eso quiere decir que no se puede, supongo. Gracias :D

PD.: boctulus, no, no quise decir eso xD
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Duda sobre el typedef en las clases
« Respuesta #4 en: 20 Abril 2016, 19:28 pm »

Eso quiere decir que no se puede, supongo. Gracias :D

PD.: boctulus, no, no quise decir eso xD

Sí, sí que se puede :/

Pero tienes que ponerlo como puse arriba. No es algo del objeto.
En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: Duda sobre el typedef en las clases
« Respuesta #5 en: 20 Abril 2016, 20:09 pm »

Ah, si, cierto. Me refería a que no se podía con un objeto en sí, gracias :D
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Duda sobre el typedef en las clases
« Respuesta #6 en: 20 Abril 2016, 20:11 pm »

Ah, si, cierto. Me refería a que no se podía con un objeto en sí, gracias :D

El caso es, qué cambiaría que fuera de un objeto, o que querrías que cambiase?
En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: Duda sobre el typedef en las clases
« Respuesta #7 en: 21 Abril 2016, 08:38 am »

El tema era el de las plantillas, cuando haces
Código
  1. template<typename T>
  2. class Foo {
  3.    public:
  4.        typedef T tipo;
  5. };

Pero supongo que no es tan necesario. Solo era curiosidad
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[SOLUCIONADO] C# - Duda sobre interfaz en clases
.NET (C#, VB.NET, ASP)
AlonsoCN 3 5,330 Último mensaje 21 Octubre 2009, 23:29 pm
por murdock_
Duda sobre clases
Java
Zedmix 1 1,880 Último mensaje 30 Noviembre 2011, 08:58 am
por Slava_TZD
[C++]Duda sobre clases
Programación C/C++
SrCooper 8 3,604 Último mensaje 14 Julio 2013, 00:00 am
por SrCooper
Duda sobre lista de un typedef struct
Programación C/C++
Ccomplica 1 1,925 Último mensaje 1 Noviembre 2013, 22:02 pm
por m@o_614
Duda sobre clases internas
Java
JonaLamper 1 1,676 Último mensaje 5 Abril 2015, 21:03 pm
por Usuario Invitado
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines