Código de Dev - C++ - Herencia simple

Imágen de perfil

Herencia simplegráfica de visualizaciones


Dev - C++

Publicado el 18 de Noviembre del 2018 por Administrador (718 códigos)
5.047 visualizaciones desde el 18 de Noviembre del 2018
Es un ejemplo muy sencillo de hacer una herencia simple.
Una herencia es para aprovechar código. Al heredar los datos públicos y protegidos la sub-clase desde la superclase, esta sub-clase podrá utilizar esos datos y constructores desde la clase como si los hubiera declarado dentro.

herenciaSimple

20071126

Publicado el 18 de Noviembre del 2018gráfica de visualizaciones de la versión: 20071126
5.048 visualizaciones desde el 18 de Noviembre del 2018
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella


Forma parte de Cartagena99
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include <iostream> //Libreria para la entrada/salida de datos
 
using namespace std;
 
 
 
class vehiculo  //Declaramos la superclase vehiculo (clase padre)
{
    protected:  //Le ponemos tipo protegido a los datos para que se pasen a la variante
 
        float peso; //Variable tipo decimal que guardara el peso
        int ruedas; //Variable tipo intero que guardara el nº de ruedas
 
    public:  //Le ponemos tipo publico a los constructores para poder utilizarlos en todo el programa
 
        void iniciar(float p,int r) //Este constructor se dedica a enlazar las variables del
        {                           //main principal con las de las clases por eso se pasan por parametros
 
          peso = p;  //La variable peso sera igual a la variable p
          ruedas = r;  //La variable ruedas sera igual a la variable r
 
        }; //Fin del constructor inicial
 
        float ob_peso(void) //Constructor de tipo decimal que muestra el peso
        {
               return peso;
        }; //Devuelve el peso con return
 
        int ob_ruedas(void) //Constructor de tipo entero que muestra el nº de ruedas
        {
             return ruedas;
        }; //Devuelve las ruedas con return
 
};  //Fin de la declaracion de la superclase vehiculo
 
 
class motocicleta:public vehiculo //Declaramos la clase variante llamada motocicleta
{ //Hacemos que se pase todo lo protegido y publico a esta variante con :public vehiculo
 
    private: //Aunque por defecto si no se pone el tipo es private, pero lo ponemos
 
        int pasajeros;  //Variable de tipo entero que guardara el nº de pasajeros
        int combustible; //Variable de tipo entero que guardara el combustible
        char tipo; //Variable de tipo caracter que guardara una tecla
 
    public:  //Le ponemos tipo publico a los constructores para poder utilizarlos en todo el programa
        void iniciar(int pj,int com,int r,float p) //Este constructor se dedica a enlazar las
        {        //variables del main principal con las de las clases por eso se pasan por parametros
 
            pasajeros = pj;  //La variable pasajeros sera igual a pj
            combustible = com;  //La variable combustible sera igual a com
            ruedas = r; //La variable ruedas sera igual a r
            peso = p; //La variable peso sera igual a p
 
        };  //Fin del constructor inicial
 
        int ob_pasajeros(void) //Constructor tipo entero para obtener el nº de pasajeros
        {
            cout << endl << "Que tipo de moto es ?";  //Datos de salida
            cout << endl << "Grande: Pulse G - Chica: Pulse C\\n";  //Datos de salida
            cin >> tipo;  //Dato de entrada hacia la variable tipo char llamada tipo
            if((tipo == 'g') || (tipo == 'G')) //Si hemos pulsado g o G
            { pasajeros=pasajeros; }  //pasajeros se incrementara 1
            if((tipo == 'c') || (tipo == 'C')) //Si hemos pulsado c o C
            { pasajeros=pasajeros-1; }  //pasajeros se decrementara 1
            return pasajeros;  //Devuelve con return el valor de la variable pasajeros
        };  //Fin del constructor ob_pasajeros
 
        int ob_combustible(void) //Constructor tipo entero para obtener el nº de combustible
        { //Se utiliza el mismo valor anterior con la variable char tipo
            if((tipo == 'g') || (tipo == 'G')) //Si habiamos pulsado g o G
            { combustible=combustible+20; }  //El valor de combustible sera 20 mas
            if((tipo == 'c') || (tipo == 'C')) //Si habiamos pulsado c o C
            { pasajeros=20; }                //El valor de combustible sera 20
            return combustible;  //Devuelve con return el valor de combustible
        };  //Fin del constructor ob_combustible
}; //Fin de la declaracion de la clase variante motocicleta
 
 
int main() //Comienza la funcion principal
{
    int r=2,pj=2,com=20; //Declaramos variables enteras:
                         //r sera el numero de ruedas
                         //pj sera el numero de pasajeros
                         //com sera el numero de combustible
    float p=96.5;  //Declaramos variables decimales:
                   //p sera el peso
 
    motocicleta moto;  //Declaramos una variable tipo sub-clase moticicleta llamada moto
 
    moto.iniciar(pj,com,r,p); //Llamamos al constructor iniciar desde moto, le pasamos los parametros
 
    pj=moto.ob_pasajeros(); //Asignamos el valor del constructor ob_pasajeros a pj
 
    cout << endl << "Caracteristicas de un ciclomotor";  //Datos de salida
    cout << endl << "Peso: " << moto.ob_peso() << "kg";  //Datos de salida, llamamos a ob_peso
    cout << endl << "Ruedas: " << moto.ob_ruedas();      //Datos de salida, llamamos a ob_ruedas
    cout << endl << "Pasajeros: " << pj;                 //Datos de salida, ponemos a mostrar pj
    cout << endl << "Combustible: " << moto.ob_combustible() << "litros"; //Datos de salida, llamamos
    cout << endl;                                                         //a ob_combustible
 
    cin.get();  //Limpia el buffer
    cin.get();  //Espera a que pulses una tecla
 
} //Fin de la funcion principal



Comentarios sobre la versión: 20071126 (0)


No hay comentarios
 

Comentar la versión: 20071126

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4933