[C con Clase] Varios ficheros en un proyecto
Juan Antonio
jalr43 en hotmail.com
Jue Abr 12 17:26:38 CEST 2007
Hola Alejandro,
te propongo dos formas de hacerlo:
1.- Suponiendo que tienes añadidos al proyecto los ficheros. Como ejemplo
deberías tener principal.cpp y sumar.cpp para lo que te propongo. Dentro de
sumar.cpp ahí lo siguiente:
int sumar(int a, int b)
{
return a+b;
}
Y en principal.cpp:
#include <iostream>
extern int sumar(int a, int b); //Como la función está en otro fichero se
antepone extern al prototip, aunque lo he probado sin extern y también
funciona.
using namespace std;
int main(int argc, char *argv[])
{
cout << sumar(5,5)<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
2.- La otra manera, la más elegante. Supongo que habrás leído parte del
curso de C++, lo normal es poner las declaraciones en ficheros.h y la
definción en los .cpp. Luego para usar estructuras, clases, funciones se
incluye el fichero .h en el fichero donde quieres usarlo y listo. Como
ejemplo puedes consultar el juego de la serpiente de la web
http://articulos.conclase.net/Serpiente/index.php?pag=007 , lo puedes
descargar al final de la misma. Ahí puedes ver como se hacen includes de
clases declaradas y definidas en otro ficheros. Siguiendo con el ejemplo de
antes, añade otro nuevo archivo a tu proyecto anterior, sumar.h con lo
siguiente (el prototipo de la función únicamente):
int sumar(int a, int b);
Ahora principal.cpp cambia por:
#include <iostream>
#include "sumar.h"
using namespace std;
int main(int argc, char *argv[])
{
cout << sumar(5,5)<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
----- Original Message -----
From: "Alejandro" <alepelexo en yahoo.es>
To: <cconclase en listas.conclase.net>
Sent: Thursday, April 12, 2007 2:03 PM
Subject: [C con Clase] Varios ficheros en un proyecto
Hola Lista.
Estoy empezando a crear un programa que, como veo quue va a ser extenso,
estoy agrupando en distintos ficheros.
Pongamos por ejemplo que tiene dos, uno que es "principal.cpp" en el que va
la función main y las definiciones de funciones con sus prototipos y otro
que es "clase.cpp" que contiene las clases y las definiciones de sus
funciones. El prolema es que una vez yo tengo estos dos ficheros añadidos al
proyecto, y empiezo a compilar, me da un error. ¿Qué puedo hacer para
solucionarlo? Si es importante, estoy usando Dev-C++.
Muchas gracias por vuestra atención y un saludo, Alejandro.
_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Más información sobre la lista de distribución Cconclase