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

[SOLUCIONADO] ¿clases con tipo?

Estas en el tema de ¿clases con tipo? en el foro de C/C++ en Foros del Web. Hola: Estoy enredando con temas de GIS y estoy teniendo problemas para incluir una clase. Pero más allá del problema en sí, lo que me ...
  #1 (permalink)  
Antiguo 14/06/2015, 02:31
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 7 meses
Puntos: 10
¿clases con tipo?

Hola:

Estoy enredando con temas de GIS y estoy teniendo problemas para incluir una clase.
Pero más allá del problema en sí, lo que me llama la atención es el nombre de la clase y el error que me da:

archivo qgis.h
Código C++:
Ver original
  1. class CORE_EXPORT QGis
  2. {
  3. .............................

El error es que el tipo CORE_EXPORT no lo reconoce.

Y la pregunta es....¿es que se pueden definir clases con un tipo, o no estoy interpretando bien la sintaxis?

Gracias por adelantado
__________________
Mi calculadora en Qt
  #2 (permalink)  
Antiguo 14/06/2015, 07:56
 
Fecha de Ingreso: febrero-2015
Ubicación: France
Mensajes: 12
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: ¿clases con tipo?

Hola,
No conozco QGis pero pienso que CORE_EXPORT es un por una DLL. A lo mejor esta [URL="http://stackoverflow.com/questions/8863193/what-does-declspecdllimport-really-mean"]página[/URL] te ayudaría.
  #3 (permalink)  
Antiguo 15/06/2015, 03:19
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: ¿clases con tipo?

Cita:
Iniciado por Reynolds Ver Mensaje
Hola,
No conozco QGis pero pienso que CORE_EXPORT es un por una DLL. A lo mejor esta [URL="http://stackoverflow.com/questions/8863193/what-does-declspecdllimport-really-mean"]página[/URL] te ayudaría.
Muchas gracias por la respuesta.
La verdad es que es un tema más bien de Qt. Pero en todo caso me sigue sorprendiendo este tipo de cosas, quiero decir, poner una macro antes del nombre de la clase.

¡Cuantas cosas me quedan por saber!
Saludos y gracias
__________________
Mi calculadora en Qt
  #4 (permalink)  
Antiguo 15/06/2015, 05:15
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: ¿clases con tipo?

Cita:
Iniciado por dehm Ver Mensaje
quiero decir, poner una macro antes del nombre de la clase.
Piensa que las macros no son más que un ALIAS. Antes de compilar se ejecuta el precompilador que, entre otras cosas, localiza las MACROS y las sustituye, tal cual, por el código que corresponda, de tal forma que el compilador recibe código C++ completo, sin macros.

Por este motivo las macros pueden contener cualquier cosa y modificar prácticamente cualquier elemento de C++.

Un ejemplo tonto para ilustrar el caso: la macro en cuestión crea una clase.

Código C++:
Ver original
  1. #include <iostream>
  2.  
  3. #define MACRO_CLASS(nombre) \
  4. class nombre \
  5. { \
  6.   public: \
  7.     nombre( ) { std::cout << #nombre << " se ha creado con una macro" << std::endl; } \
  8. }
  9.  
  10. MACRO_CLASS(test); // Declaramos una clase "test"
  11. MACRO_CLASS(otraClase); // Declaramos una clase "otraClase"
  12.  
  13. int main( )
  14. {
  15.   // Al llamar al constructor de "t" se imprimirá un mensaje referente a la clase "test"
  16.   test t;
  17.   // Al llamar al constructor de "c" se imprimirá un mensaje referente a la clase "otraClase"
  18.   otraClase c;
  19. }

Un saludo.
  #5 (permalink)  
Antiguo 15/06/2015, 10:49
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: ¿clases con tipo?

Gracias como siempre.
El ejemplo ha sido muy ilustrativo
__________________
Mi calculadora en Qt

Etiquetas: int
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 12:52.