Cool C/C++

Programacion en C/C++

Home Tutoriales Programación C/C++ Crear una clase cuya implementación esté en otro fichero
Crear una clase cuya implementación esté en otro fichero PDF Imprimir E-mail
Escrito por adrianvaca   
Domingo, 20 de Marzo de 2011 12:58

Esta es una duda muy frecuente y que varias personas no saben como resolver, el título del presente artículo lo dice todo:

Como crear una clase cuya implementación esté en otro fichero

Para esto vamos a usar el compilador Turbo C++ 3.0, si no lo tienen descárguenlo de la sección Compiladores antes de seguir.

Bien supongamos que tenemos el siguiente programa:

#include <iostream.h>
#include <conio.h>

class punto {
    float x, y;

    public:
      punto(float=0, float=0);
      void aumentar(float, float);
      void imprimir(void);
};

punto :: punto(float cx, float cy){
    x=cx;
    y=cy;
}
void punto :: aumentar(float c1, float c2){
    x=x+c1;
    y=y+c2;
}
void punto :: imprimir(void){
    cout << "(" << x << "," << y << ")";
}
void main(void){
     float cox, coy;
     punto puntito(5.1, 8.3);

     clrscr();

     cout<<"El punto es: "; puntito.imprimir();
     cout<<"\nIngrese la constante en x: "; cin>>cox;
     cout<<"Ingrese la constante en y: "; cin>>coy;
     puntito.aumentar(cox, coy);
     cout<<"El nuevo punto es: ";
     puntito.imprimir();

     getch();
}


Podemos ver que tenemos en un sólo fichero tanto la definición, como la implementación de la clase y también el programa principal (la función main), esto puede estar bien cuando se trata de programas pequeños, pero en programas grandes es conveniente tener en un fichero la definición de la clase, en otro fichero la implemetanción de la misma y en otro fichero el programa principal.

Bien, ahora vamos paso a paso:

  1. Para ser ordenados, en primer lugar vamos a crear la carpeta PUNTOS en la cual guardaremos todo lo que vayamos creando. Esta carpeta la crearemos a su vez en C:\TC\BIN


  2. Ahora Iniciamos el Turbo C++ y vamos a Project -> Open project, en el cuadro Files seleccionamos el directorio PUNTOS el cual creamos anteriormente



  3. Damos click sobre el directorio y a continuación en el cuadro Open Project File reemplazamos el * por PROYECTO que será el nombre del archivo de proyecto en este caso:



  4. Luego damos click en el botón OK y veremos algo como lo siguiente:



    Fijarse en el cuadro de título: Project: PROYECTO, que es donde se mostrará el listado de archivos que forman parte de nuestro proyecto. Si por alguna razón esta ventana no es visible o la ocultamos, debemos ir a Window -> Project y se mostrará nuevamente


  5. Ahora vamos a crear el archivo que contiene la definición de la clase, para esto vamos a File -> New y en la ventana escribimos lo siguiente:

    // PUNTO.H
    #ifndef __PUNTO_H__
    #define __PUNTO_H__

    class punto {
          float x, y;

          public:
             punto(float=0, float=0);
             void aumentar(float, float);
             void imprimir(void);
    };

    #endif


    Vamos a File -> Save as y guardamos el fichero como PUNTO.H



  6. Creamos ahora el archivo que contiene la implementación de la clase, para esto vamos a File -> New y en la ventana escribimos lo siguiente:

    // PUNTO.CPP
    #ifndef __PUNTO_CPP__
    #define __PUNTO_CPP__

    #include <iostream.h>
    #include "punto.h"

    punto :: punto(float cx, float cy){
        x=cx;
        y=cy;
    }
    void punto :: aumentar(float c1, float c2){
        x=x+c1;
        y=y+c2;
    }
    void punto :: imprimir(void){
        cout << "(" << x << "," << y << ")";
    }

    #endif


    Vamos a File -> Save as y guardamos el fichero como PUNTO.CPP



    Fíjense en la línea que contiene #include "punto.h", de esta forma indicamos que la definición de la clase se encuentra en ese fichero.


  7. Ahora vamos a crear el archivo que contiene el programa principal (la función main), para esto vamos a File -> New y en la ventana escribimos lo siguiente:

    // MAIN_P.CPP
    #include <iostream.h>
    #include <conio.h>

    #include "punto.h"


    void main(void){
        float cox, coy;
        punto puntito(5.1, 8.3);

        clrscr();

        cout<<"El punto es: "; puntito.imprimir();
        cout<<"\nIngrese la constante en x: "; cin>>cox;
        cout<<"Ingrese la constante en y: "; cin>>coy;
        puntito.aumentar(cox, coy);
        cout<<"El nuevo punto es: "; puntito.imprimir();

        getch();
    }


    Vamos a File -> Save as y guardamos el fichero como MAIN_P.CPP



    Fíjense en la línea que contiene #include "punto.h", de esta forma incluímos la librería como lo hacemos normalmente con otras librerías, sólo que usamos comillas dobles ("") esta vez.


  8. Ahora agreguemos los ficheros para que sean parte de nuestro proyecto, mencionar que sólo hace falta agregar los ficheros: MAIN_P.CPP y PUNTO.CPP. Para esto, primero damos click en el cuadro de título: Project: PROYECTO y vamos a Project -> Add item seleccionamos el fichero MAIN_P.CPP y damos click en Add para agregarlo a nuestro proyecto, ahora seleccionamos el fichero PUNTO.CPP damos click en Add nuevamente y por último click en Done:



    Podemos ver ahora el listado de archivos que forman parte de nuestro proyecto:



  9. Por fin vamos a compilar y ejecutar, para ello la rutina de siempre ALT+F9 para compilar y CTRL+F9 para ejecutar:





Creo que eso es todo, recuerden lo siguiente:

  • Lo mejor es crear una carpeta para guardar en esta todos los archivos de nuestro proyecto y tener todo más ordenando.


  • Si cierran el Turbo C++, tienen que ir a Project -> Open project y seleccionar el archivo de proyecto que tiene extensión .PRJ y luego si pueden compilar y ejecutar. Si en este caso abren directamente el archivo .CPP que contiene la función main obtendrán errores al tratar de ejecutar el programa


  • Para agregar un nuevo fichero al proyecto, primero lo crean de la forma clásica File -> New -> ..., luego lo graban File -> Save as y luego pueden agregarlo al proyecto.


  • Sólo se agregan archivos .CPP al proyecto y para agregar o quitar archivos de nuestro proyecto primero debemos dar click en la ventana que contiene el listado de archivos y luego vamos a Project y seleccionamos la opción adecuada.


  • Para abrir un archivo pueden seleccionarlo de la ventana que contiene la lista de archivos del proyecto y dan doble click sobre el mismo o también pueden abrir el fichero si van a File -> Open y lo seleccionan desde ahí


  • Por último, si la ventana que contiene la lista de archivos del proyecto no es visible o la cerraron deben ir a Window -> Project y se mostrará nuevamente.



 
Otros artículos

Escribir un comentario


Código de seguridad
Refescar