[Programación] RE: [Programación] Re: [Programació n] Re: [Programación] headers en c++

Magnanego, Nestor programacion@lugro.org.ar
Tue, 16 Nov 2004 06:19:48 -0300


> -----Mensaje original-----
> De: HHDG [mailto:cuatriangulo@yahoo.com.ar]
> Enviado el: lunes 15 de noviembre de 2004 22:17
> Para: programacion@lugro.org.ar
> Asunto: [Programación] Re: [Programación] Re: [Programación] 
> headers en
> c++
> 
> 
> Pablo wrote:
> > Con C++ pasa lo mismo que con C, por CADA clase tenes que tener
> > un archivo .h y un .cpp ( .C, .cxx o como te guste <le 
> hablo al compilador
> > ;ˇ) > )
> >  En el .h pones la declaracion de la clase, y en el .cpp pones la
> > implementacion de la clase. Y por ultimo, main.cpp usas la
> > clase (o donde la necesites) Un ejemplo:
> > 
> > Clase: Auto:
> > 
> > auto.h:
> > ------
> > #include <stdio.h> // deberias usar iostream y cin cout........
> > 
> > class Auto {
> > public:
> >     Auto();
> >     ~Auto();
> > 
> >     void Arrancar();
> >     void Acelerar(int cuanto);
> > };
> > 
> > auto.cpp:
> > --------
> > 
> > Auto::Auto()
> > {
> > }
> > 
> > Auto::~Auto()
> > {
> > }
> > 
> > void Auto::Arrancar()
> > {
> >     printf("Arranco\n");
> > }
> > 
> > void Auto::Acelerar(int cuanto)
> > {
> >     printf("Acelerando %d\n", cuanto);
> > }
> > 
> > main.cpp:
> > ---------
> > 
> > #include "auto.h"
> > 
> > int main()
> > {
> > 
> >         Auto myAuto;
> > 
> >         myAuto.Arrancar();
> >         myAuto.Acelerar(40);
> >         myAuto.Acelerar(50);
> > 
> >         return 0;
> > }
> > 
> > Como creo que se ve, la idea es la misma que en C
> > En el .h solo pones las declaraciones de tus funciones (clases) y
> > en el .c ( .cpp ) pones las implementaciones de tus
> > funciones (clases) y en el main.c (main.cpp) las usas.
> > 
> >                 Saludos. Pablo.
> > 
> 
> Gracias por la respuesta y el ejemplo,
> Ahora es más fácil preguntar, el tema es que auto.cpp
> NO va a compilar, simplemente porque no tiene definida
> la clase Auto (observar que auto.cpp no incluye a auto.h)
> y Esa es exactamente mi pregunta.
Hola HHDD:
Bueno estas en lo cierto, siguiendo el ejemplo, tenes que incluir auto.h en
auto.cpp y también tenes que incluir auto.h en main.
Saludos.
Nestor.