Ejercicio de Herencia
Ejercicio de Herencia
atributos las medidas y como método imprimirla, de esta clase debe de salir
una la cual se llame tipo_de_cubo que contenga un string en el cual se
ingresara el material del que este hecho(tierra, oro, diamante) y el método será
imprimir el material. Y por último una clase para cada tipo de material que
heredara a tipo_de_cubo y como atributo tendrá dos strings uno donde
contenga el objeto o material con el que se golpea y el otro el ítem que suelta
Recordemos que
Class a{}
Codigo de referencia
#include<iostream>
#include<stdlib.h>
class Vehiculo{//creamos nuestra clase vehiculo que va a ser la clase padre, la cual van a ser heredadas las emas
cosas
private://nuestras caracteristicas generales del vehiculo
string movimiento;
string acelera;
string frena;
public://metodos
Vehiculo(string, string, string);//constructor de la clase donde se colocan los atributos
void accion();//metodo
};
class carro: public Vehiculo{//esta es la clase carro, los ":" representa que va a heredar lo punlico de la clase que se
escriba despues
private://atributos propios de u carro
int num_llanauto;
int num_asienauto;
public://metodos
carro(string, string, string, int, int); /*Aquí se agregan los atributos heredados y los nuevos propios en el
orden
que corrsponde, como los primeros 3 son string, se ponen primero, los que le siguen son de tipo int y se
colocan despues*/
void accion_carro();//metodo
};
class Moto: public Vehiculo{//esta es la clase moto, los ":" representa que va a heredar lo punlico de la clase que se
escriba despues
private://atributos propios de la moto
int num_llantmoto;
int num_asientmoto;
public:
Moto(string, string, string, int, int);/*Aquí se agregan los atributos heredados y los nuevos propios
en el orden
que corrsponde, como los primeros 3 son string, se ponen primero, los que le siguen son de tipo int y se
colocan despues*/
void accion_moto();
};
Vehiculo::Vehiculo(string _movimiento, string _acelera, string _frena){/*armamos el constructor para que los atributos
se puedan manipular
desde el main*/
movimiento= _movimiento;
acelera= _acelera;
frena= _frena;
}
carro::carro(string _movimiento, string _acelera, string _frena, int _num_llanauto, int _num_asienauto):
Vehiculo( _movimiento, _acelera, _frena)
{/*Se arma el contructor, despues e inicializar las variable se coloca un ":" esto hace que las variables de tipo string se
hereden directamente
desde vehiculo para que no se vuelvan a declarar en este constructor*/
num_llanauto= _num_llanauto;
num_asienauto = _num_asienauto;
}
Moto::Moto(string _movimiento, string _acelera, string _frena, int _num_llantmoto, int
_num_asientmoto):Vehiculo( _movimiento, _acelera, _frena)
{
num_llantmoto = _num_llantmoto;
num_asientmoto= _num_asientmoto;
}
void Vehiculo::accion(){
cout<<"Un vehiculo"<<movimiento<<acelera<<frena<<endl;
}
void carro::accion_carro(){
accion();
cout<<"Este vehiuclo es un carro tiene "<<num_llanauto<<" Y sus asientos son "<<num_asienauto<<endl;
}
void Moto::accion_moto(){
accion();
cout<<"Este vehiuclo es una moto tiene "<<num_llantmoto<<" Y sus asientos son "<<num_asientmoto<<endl;
}
int main()
{
Moto m1("Avanza ", "Acelera ", "Frena ",2 ,2);
carro a1("Avanza ", "Acelera ", "Frena ",4 ,5);
char opcion;
if(opcion=='m'||opcion=='M'){
m1.accion_moto();
}
else{
a1.accion_carro();
}
system ("pause");
return 0;
}