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

declaracion de una clase en la bibloteca de otra

Estas en el tema de declaracion de una clase en la bibloteca de otra en el foro de C/C++ en Foros del Web. Hola a todos, mi problema es el siguiente. Creo una clase y a la hora de instanciarla en otra clase solo me deja declararla en ...
  #1 (permalink)  
Antiguo 06/05/2012, 17:16
 
Fecha de Ingreso: mayo-2012
Mensajes: 4
Antigüedad: 11 años, 11 meses
Puntos: 0
declaracion de una clase en la bibloteca de otra

Hola a todos, mi problema es el siguiente. Creo una clase y a la hora de instanciarla en otra clase solo me deja declararla en el codigo .cpp de la clase y en la biblioteca me da el siguiente error:

principal.h(68) : error C2143: error de sintaxis : falta ';' delante de '*'
principal.h(68) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
principal.h(68) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int

¿puede ser problema de los include, hay que colocarlos con un determinado orden para que reconozca la clase que se esta declarando en la biblioteca? Mucas gracias de antemano y un saludo a todos.
  #2 (permalink)  
Antiguo 07/05/2012, 05:10
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: declaracion de una clase en la bibloteca de otra

Primero que nada la implementacion de la clase va en un archivo .cpp
En el .h se pone la declaracion.

Por otro lado, hay un cierto orden para agregar las cosas.

Primero de todo debes poner el include:

#include "miclase.h"

Despues tiene que declarar un objeto de esa clase:

miclase * t;

Podrias mostrar tus codigo para ver como tienes el orden?

Saludos
  #3 (permalink)  
Antiguo 07/05/2012, 05:19
 
Fecha de Ingreso: mayo-2012
Mensajes: 4
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: declaracion de una clase en la bibloteca de otra

Hola Sam90 muchas gracias por tu respuesta. Creo que me exprese mal. Te adjunto trozos del código para que veas cual es mi problema.

Tengo una clase cubo, con su respectivo cubo.cpp y cubo.h.

Archivo: principal.h


#ifndef PRINCIPAL_H
#define PRINCIPAL_H

#include "ui_principal.h"
#include "EstiloInteractor.h"
#include "WrapperVtkText.h"
#include "cubo.h"

........

Cubo *cubo; --> Al declararlo aquí me da error.

..........


Archivo principal.cpp:

#include "principal.h"

Cubo *cubo;


........

(métodos)


Mi problema es que al declarar "*cubo" como variable global en principal.cpp no me da ningún error me reconoce la clase perfectamente. Pero al querer declararla como un atributo en principal.h no me reconoce la clase cubo (o eso creo que es el problema). Muchas gracias por todo.

Un saludo.

Etiquetas: clase, declaracion, 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:39.