Autor
|
Tema: Duda sobre el typedef en las clases (Leído 3,351 veces)
|
class_OpenGL
Desconectado
Mensajes: 437
Si usas Direct3D, no eres mi amigo :P
|
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: class Foo { public: typedef int tipo_entero; private: /* Aquí las variables de la clase */ }; ... int main() { Foo objeto; objeto.tipo_entero variable = 54; return 0; }
Evidentemente no estaría preguntando esto pudiendo proponer el ejemplo. Al intentar compilar el código de arriba me salta el siguiente error: 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
Mensajes: 219
HardForo.com
|
Interpreto quisiste hacer esto: class Foo { typedef int tipo_entero; public: tipo_entero valor; private: /* Aquí las variables de la clase */ }; int main(void) { Foo objeto; objeto.valor = 54; return 0; }
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
Mensajes: 3.412
ASMático
|
Un typedef no es cosa de objeto. Es cosa de la clase. Foo::tipo_entero k = 54;
|
|
|
En línea
|
|
|
|
class_OpenGL
Desconectado
Mensajes: 437
Si usas Direct3D, no eres mi amigo :P
|
Eso quiere decir que no se puede, supongo. Gracias 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
Mensajes: 3.412
ASMático
|
Eso quiere decir que no se puede, supongo. Gracias 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
|
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Ah, si, cierto. Me refería a que no se podía con un objeto en sí, gracias El caso es, qué cambiaría que fuera de un objeto, o que querrías que cambiase?
|
|
|
En línea
|
|
|
|
class_OpenGL
Desconectado
Mensajes: 437
Si usas Direct3D, no eres mi amigo :P
|
El tema era el de las plantillas, cuando haces template<typename T> class Foo { public: typedef T tipo; };
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 |
|
|
|
|
|
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
|
21 Octubre 2009, 23:29 pm
por murdock_
|
|
|
Duda sobre clases
Java
|
Zedmix
|
1
|
1,880
|
30 Noviembre 2011, 08:58 am
por Slava_TZD
|
|
|
[C++]Duda sobre clases
Programación C/C++
|
SrCooper
|
8
|
3,604
|
14 Julio 2013, 00:00 am
por SrCooper
|
|
|
Duda sobre lista de un typedef struct
Programación C/C++
|
Ccomplica
|
1
|
1,925
|
1 Noviembre 2013, 22:02 pm
por m@o_614
|
|
|
Duda sobre clases internas
Java
|
JonaLamper
|
1
|
1,676
|
5 Abril 2015, 21:03 pm
por Usuario Invitado
|
|