Está en la página 1de 6

//Programa 1: Herencia simple entre la clase base Empleado y la clase

derivada Gerente
#include <string.h>
#include <conio.h>
#include <iostream>
using namespace std;
class empleado
{
public:
empleado(char *, char *, float);
void mostrar_empleado(void);
private:
char nombre[15];
char puesto[15];
float salario;
};
class gerente:public empleado
{
public:
gerente(char *, char *, char *, float, float, int);
void mostrar_gerente(void);
private:
float bono;
char automovil[15];
int acciones;
};
empleado::empleado(char *t_nom, char *t_pue, float t_sal)
{
strcpy(nombre, t_nom);
strcpy(puesto, t_pue);
salario = t_sal;
}
void empleado::mostrar_empleado(void)
{
cout << "\nNombre: " << nombre << endl;
cout << "Puesto: " << puesto << endl;
cout << "Salario: Bs." << salario << endl;
}
gerente::gerente(char *t_nom, char *t_pue, char *t_aut, float t_sal,
float t_bono,
int t_acc):empleado(t_nom,t_pue,t_sal)
{
strcpy(automovil, t_aut);
bono = t_bono;
acciones = t_acc;
}
void gerente::mostrar_gerente(void)
{
mostrar_empleado();
cout << "Automvil de la Empresa: " << automovil << endl;
cout << "Bonificacin Anual: Bs." << bono << endl;
cout << "Acciones de la Empresa: " << acciones << endl;
}

void main()
{
empleado trabajador("Juan Prez","Programador",850000);
gerente jefe("Carmen Gmez","Vicepresidente","Corsa",2500000,30000,500);
trabajador.mostrar_empleado();
jefe.mostrar_gerente();
cout<<"\nPresione una Tecla para Continuar";
getch();
}

//Programa 2: Herencia simple entre la clase base Libro y la clase


derivada Ficha_prestamo
#include <string.h>
#include <conio.h>
#include <iostream>
using namespace std;
class libro
{
public:
libro(char *, char *, int);
void mostrar_libro(void);
private:
char titulo[20];
char autor[20];
int paginas;
};
class ficha_prestamo : public libro
{
public:
ficha_prestamo(char *, char *, int, int, int);
void mostrar_ficha(void);
private:
int entrega;
// Numero de dias del prestamo
int prestado;
// 1 si ha sido prestado, de otra manera 0
};
libro::libro(char *t_tit, char *t_aut, int t_pag)
{
strcpy(titulo, t_tit);
strcpy(autor, t_aut);
paginas = t_pag;
}
void libro::mostrar_libro(void)
{
cout << "Ttulo: " << titulo << endl;
cout << "Autor: " << autor << endl;
cout << "Pginas: " << paginas << endl;
}
ficha_prestamo::ficha_prestamo(char *t_tit, char *t_aut, int t_pag,
int t_ent, int t_pre):libro(t_tit, t_aut, t_pag)
{
entrega = t_ent;
prestado = t_pre;
}

void ficha_prestamo::mostrar_ficha(void)
{
mostrar_libro();
cout << "Numero de dias del Prestamo: " << entrega << endl;
if (prestado)
cout << "Estado: No disponible" << endl;
else
cout << "Estado: Disponible" << endl;
}
void main()
{
ficha_prestamo ficha("Herencia en C++","Carmen Cordero",272,3,0);
ficha.mostrar_ficha();
cout<<"\nPresione una Tecla para Continuar";
getch();
}
//Programa 3: Herencia simple entre la clases base Empleado y la
clases derivadas Asalariado, Por_Hora y Temporal
#include <string.h>
#include <conio.h>
#include <iostream>
using namespace std;
class empleado
{
public:
empleado (char *, char *, char *, char *);
void mostrar_empleado (void);
private:
char nombre [20];
char telefono_casa [20];
char telefono_oficina [20];
char reporta_a [20];
};
class asalariado : public empleado
{
public:
asalariado (char *, char *, char *, char *, float, float, char *);
void mostrar_asalariado (void);
private:
float salario;
float nivel_de_primas;
char asistente [20];
};
class por_hora : public empleado
{
public:
por_hora (char *, char *, char *, char *,float);
void mostrar_por_hora (void);
private:
float sueldo;
};

class temporal : public empleado


{
public:
temporal (char *, char *, char *, char *, float);
void mostrar_temporal (void);
private:
float sueldo;
};
empleado::empleado (char *t_nom, char *t_casa, char *t_oficina, char *t_rep)
{
strcpy (nombre, t_nom);
strcpy (telefono_casa, t_casa);
strcpy (telefono_oficina, t_oficina);
strcpy (reporta_a, t_rep);
}
void empleado::mostrar_empleado (void)
{
cout << "Nombre: " << nombre << endl;
cout << "Telfono de casa: " << telefono_casa <<endl;
cout << "Telfono de oficina: " << telefono_oficina << endl;
cout << "Reporta a:" << reporta_a << endl;
}
asalariado::asalariado (char *t_nom, char *t_casa, char *t_oficina,
char *t_rep, float t_sal, float t_primas, char *t_asi) :
empleado (t_nom, t_casa, t_oficina, t_rep)
{
salario = t_sal;
nivel_de_primas = t_primas;
strcpy (asistente, t_asi);
}
void asalariado:: mostrar_asalariado (void)
{
mostrar_empleado ( ) ;
cout << "Salario: Bs." << salario << endl;
cout << "Nivel de primas: Bs." << nivel_de_primas << endl;
cout << "Asistente: " << asistente << endl;
}
por_hora::por_hora (char *t_nom, char *t_casa, char *t_oficina, char
*t_rep, float t_sue) : empleado (t_nom, t_casa, t_oficina, t_rep)
{
sueldo = t_sue;
}
void por_hora::mostrar_por_hora (void)
{
mostrar_empleado ();
cout << "Sueldo: Bs." << sueldo << endl;
}
temporal::temporal (char *t_nom, char *t_casa, char *t_oficina, char
*t_rep, float t_sue) : empleado (t_nom, t_casa, t_oficina, t_rep)
{
sueldo = t_sue;
}

void temporal :: mostrar_temporal (void)


{
mostrar_empleado ( );
cout << "Sueldo: Bs." << sueldo << endl;
}
void main (void)
{
asalariado gerente ("Joel Prez", "555-1111", "555-1112", "Marco Lpez",
3000000, 10000.0, "Alicia Hernndez");
por_hora plomero ("David Garca", "555-2222", "555-2223", "Marco
Snchez", 45000);
temporal recepcionista ("Mara Flores","555-3333","555-3334","Dora
Galvn", 40000);
gerente.mostrar_asalariado ( );
cout << endl << endl;
plomero.mostrar_por_hora ( );
cout << endl << endl;
recepcionista.mostrar_temporal ( );
cout<<"\nPresione una Tecla para Continuar";
getch();
}
//Programa 4: Herencia mltiple entre la clases base Monitor y Tarjeta
y la clase derivada Computadora
#include <string.h>
#include <conio.h>
#include <iostream>
using namespace std;
class monitor
{
public:
monitor(char *, long, int, int);
void mostrar_pantalla(void);
private:
char tipo[32];
long colores;
int resolucion_x;
int resolucion_y;
};
class tarjeta
{
public:
tarjeta(int, int);
void mostrar_tarjeta(void);
private:
int procesador;
int velocidad;
};
class computadora : public monitor, public tarjeta
{
public:
computadora(char *, int, float, char *, long, int, int,int, int);
void mostrar_computadora(void);

};

private:
char marca[25];
int disco_duro;
float disco_flexible;

monitor::monitor(char *t_tipo, long t_col,int x_res, int y_res)


{
strcpy(tipo, t_tipo);
colores = t_col;
resolucion_x = x_res;
resolucion_y = y_res;
}
void monitor::mostrar_pantalla(void)
{
cout << "Tipo de video: " << tipo << endl;
cout << "Colores: " << colores << endl;
cout << "Resolucin: " << resolucion_x << " por "
<< resolucion_y << endl;
}
tarjeta::tarjeta(int t_pro,int t_vel)
{
procesador = t_pro;
velocidad = t_vel;
}
void tarjeta::mostrar_tarjeta(void)
{
cout << "Procesador: " << procesador << endl;
cout << "Velocidad: " << velocidad << " Mhz" << endl;
}
computadora::computadora(char *t_mar, int t_duro, float t_fle, char
*t_pan, long t_col,int res_x, int res_y, int t_pro, int t_vel):
monitor (t_pan, t_col,res_x, res_y), tarjeta(t_pro, t_vel)
{
strcpy(marca, t_mar);
disco_duro = t_duro;
disco_flexible = t_fle;
}
void computadora::mostrar_computadora(void)
{
cout << "Marca: " << marca << endl;
cout << "Disco Duro: " << disco_duro << " GB" << endl;
cout << "Unidad de disquete: " << disco_flexible << " MB" << endl;
mostrar_tarjeta();
mostrar_pantalla();
}
void main()
{
computadora mipc("Compaq",12,1.44,"VGA",16000000,800,600,586,133);
mipc.mostrar_computadora();
cout<<"\nPresione una Tecla para Continuar";
getch();
}