[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