Título: Duda sobre el tema de Herencia en c++ Publicado por: maikelowen en 10 Abril 2014, 19:47 pm Hola,soy principiante en esto de la programación y llevo un un buen rato intentando ver donde tengo el fallo pero no hay manera... no consigo establecer la herencia entre las dos clases que he creado y que esta clase derivada ,en mi caso "Empleado" incluya los atributos de mi clase principal "Persona".
¿Podríais echarle un vistazo a ver donde tengo el fallo? :huh: -Utilizo netbeans- Un saludo y gracias de antemano. /* * File: main.cpp * Author: Owen10 * * Created on 10 de abril de 2014, 18:44 */ #include <cstdlib> #include <iostream> #include "Persona.h" #include "Empleado.h" using namespace std; /* * */ int main(int argc, char** argv) { Persona p("Owen"); Empleado e; cout<< e.nombre; } /* * File: Empleado.cpp * Author: Owen10 * * Created on 10 de abril de 2014, 18:50 */ #include "Empleado.h" Empleado::Empleado(const Empleado& orig) { } Empleado::~Empleado() { } Empleado::Empleado():Persona(nombre){ /* * File: Empleado.h * Author: Owen10 * * Created on 10 de abril de 2014, 18:50 */ #ifndef EMPLEADO_H #define EMPLEADO_H #include "Persona.h" #include <iostream> using namespace std; class Empleado: public Persona{ public: Empleado(); Empleado(const Empleado& orig); virtual ~Empleado(); Empleado(); private: }; /* * File: Persona.cpp * Author: Owen10 * * Created on 10 de abril de 2014, 18:45 */ #include "Persona.h" Persona::Persona(string Nombre){ Nombre=nombre; } Persona::Persona(){ } Persona::Persona(const Persona& orig) { } Persona::~Persona() { } /* * File: Persona.h * Author: Owen10 * * Created on 10 de abril de 2014, 18:45 */ #ifndef PERSONA_H #define PERSONA_H #include <iostream> using namespace std; class Persona { public: Persona(); Persona(const Persona& orig); virtual ~Persona(); Persona(string Nombre); string nombre; int edad; private: }; #endif /* PERSONA_H */ Título: Re: Duda sobre el tema de Herencia en c++ Publicado por: vangodp en 10 Abril 2014, 21:16 pm Bueno no es que sea un fiera en herencia pero intente arreglar lo que vi... y son unos cuantos errores.
Paso los archivos para que veas. Tienes que crear un proyecto en codeblocks por ejemplo para que te compile correctamente. Código
Código
Código
Código
Código
Lo errores había de todo los tipos XDD Faltaba algunos cierre de llaves también. Compara el código con el tuyo y ya veras que errores hay. Si tienes duda pues sigue preguntando. La herencia ya funciona, como ves he creado un objeto tipo Empleado y le asigno un nombre. Si vas a la clase veras que no tiene la variable miembro suNombre, la recibe de la clase persona ;) Espero que te compile bien :D Si necesitas el proyecto te lo subo también pero creo que no hace falta, solo creas un proyecto vació agregas todos los archivos y después marque que compile solo los .cpp Suerte. :D Ahora intenta pasar como privado las variables de la clase persona. Las variables no deben ser publicas, como minimo protected Título: Re: Duda sobre el tema de Herencia en c++ Publicado por: amchacon en 10 Abril 2014, 21:21 pm No es necesario que pongas el constructor copia/destructor si no lo vas a implementar. Ya lo hace el compilador por ti.
De hecho aqui es contraproducente. Prueba a hacer una copia del objeto, a ver si lo copia bien ^^ Título: Re: Duda sobre el tema de Herencia en c++ Publicado por: maikelowen en 10 Abril 2014, 21:51 pm muchas gracias ! ;-) ya lo he entendido,aparte lo he empezado a hacer de cero y me ha salido.
Un saludo. |