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

#include

Estas en el tema de #include en el foro de C/C++ en Foros del Web. He esado batallando con unos arhvos cabecera que hise, veran, tengo el archivo A.h con la declaracion de una clase, y el A.cpp con su ...
  #1 (permalink)  
Antiguo 14/07/2006, 12:05
arm
 
Fecha de Ingreso: mayo-2006
Mensajes: 112
Antigüedad: 18 años
Puntos: 0
#include

He esado batallando con unos arhvos cabecera que hise, veran, tengo el archivo A.h con la declaracion de una clase, y el A.cpp con su inplementacion, compilo el proyecto y todo esta bien. Luego intento utilizar la clases en mi programa, asi que... es donde empiesan los problemas.
Lo primero que hise fue incluir solo A.h como estava acostumbrado, pero fallo, me marca un error que dice algo asi como classA::funcion() no encontrada. Luego intenteincluyyendo por separado los archvio (quite la inclucionde A.h en A.cpp y los incliuio por seprado en main), y me muestra un liata de errores dicuendo que todos esos miembros tiene declaracion repetida.

Aprovecho para reguntar que son los archivos precompilados.
__________________
-> La duda adecuada es un buen comienzo <-
  #2 (permalink)  
Antiguo 14/07/2006, 15:33
 
Fecha de Ingreso: mayo-2006
Mensajes: 40
Antigüedad: 18 años
Puntos: 0
Si no ocupan mucho espacio, ¿podrias poner los archivos A.h y A.cpp? Ademas seria de utilidad saber qué compilador usas y bajo que sistema operativo trabajas.

Con archivos precompilados me imagino que te refieres a archivos de cabecera precompilados ¿me equivoco?. Si a eso te refieres, entonces esto no son mas que archivos ya procesados anteriormente por el compilador y que utiliza para acelerar el proceso de compilacion. Normalmente cuando haces un programa en C++, utilizas varias librerias de tu compilador, los cuales se componene de varios archivos de encabezados (los .h) que tienes que incluir en tu programa. Estos archivos .h se componen de miles de lineas (con definiciones de clases, constantes, enumeraciones, declaraciones de funciones, etc.) y que nunca cambian. Entonces, para evitar que cada vez que compiles tu programa, se procese la informacion contenida en estos archivos es que se usan los archivos de cabezara precompilados, los cuales se generan una sola vez cuando compilas por primera vez tu programa.
  #3 (permalink)  
Antiguo 14/07/2006, 17:01
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años
Puntos: 2
mira par crear una aplicacion multi-Ficheros, puedes hacerlo con compilacion al mismo tiempo o con el uso de librerias estaticas.

cuando declaras una clase, lo haces en el .h, cuando implementas lo haces en .cpp, incluyendo el .h

ya en main solo incluyes el .h

de esta forma no te encontraras problemas de redefinicion, generalemnte no es necesario incluir un .cpp

para evitar liarte con las redefiniciones el recomendable encerrar tu codigo de definicion en una sentencia de preprocesador #define


#ifndef A_H
#define A_H

class A
{
//etc....
};

#endif//A_H

la otra opcion, es la creacion de librerias estaticas, esto es crea un proyecto, para la creacion de una libreria estatica, defines tu clase implemntas y compilas, entonces se creara un fichero .lib o .a segun el compilador.

para usarla solo incluye en encabezado y linka el fichero.lib

y listo.

recuerda que la inclucion, con comilass(""), se buscara el fichero en la carpeta del proyecto, con <> se buscara en la carpeta include del compilador.
  #4 (permalink)  
Antiguo 14/07/2006, 17:55
arm
 
Fecha de Ingreso: mayo-2006
Mensajes: 112
Antigüedad: 18 años
Puntos: 0
Para pitukilloloco:
Utilizo Dev para windows.
Respecto a incluir los archvos, pues veraz, evite utilizar los nombres originales porque de seguro son molestos. Entre los Ficheros que utilizo, los principal son Ser.h, Ente.h, Esencia.h..., no te costara darte cuante que estoy un opcesionado con la filosofia, edemas ninguno esta completo, pero si cres que es necesario hacerlo, lo hare.

Para Nivel7:
Ya prove evitar el problema con la directivas que mencionas pero no hay difeencia
__________________
-> La duda adecuada es un buen comienzo <-
  #5 (permalink)  
Antiguo 15/07/2006, 02:14
 
Fecha de Ingreso: mayo-2006
Mensajes: 40
Antigüedad: 18 años
Puntos: 0
Dices que cambiaste los nombres de los "archivos originales" por otros, ¿a qué archivos te refieres? Por otra parte, solo mencionaste que tienes dos, A.h y A.cpp, ¿tu programa consta de mas archivos aparte de estos? Si no estan muy largos seria de ayuda que los mostraras para entender mas donde esta tu problema
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 22:18.