Dev - C++ - De herencia simple a herencia múltiple

 
Vista:
Imágen de perfil de kenny
Val: 30
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

De herencia simple a herencia múltiple

Publicado por kenny (10 intervenciones) el 29/10/2019 03:37:40
necesito ayuda con este programa lo tengo en herencia simple, pero nose como hacer o que hacer para volverlo herencia múltiple,si alguno de uds me colabora seria magnifico.
#include<iostream>
using namespace std;

class reinoanimal {
public:
reinoanimal() {cout<< "Cualquier animal" << endl; }
void cualidades() { cout << "no ponen huevos" << endl; }
};
class mamiferos :public reinoanimal {
public:
mamiferos() { cout << "Este es un mamifero..." << endl; }
};

int main() {
mamiferos mireinoanimal;
mireinoanimal.cualidades();
system("pause");
return 0;
}
porfa es urgente no se que hacer
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

De herencia simple a herencia múltiple

Publicado por Alfil (1444 intervenciones) el 29/10/2019 08:29:17
Te pongo un ejemplo simple de herencia múltiple, como ves, para poder realizar herencia múltiple se precisan mínimo tres clases, dos clases base y una tercera que hereda de ambas.

Espero te sirva de ayuda.


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
#include <iostream>
 
using namespace std;
 
class ClaseA {
public:
    ClaseA() : valorA(10) {}
    ClaseA(int va) : valorA(va) {}
    int obtenerValor() const { return valorA; }
protected:
    int valorA;
};
 
class ClaseB {
public:
    ClaseB() : valorB(20) {}
    ClaseB(int vb) : valorB(vb) {}
    int obtenerValor() const { return valorB; }
protected:
    int valorB;
};
 
class ClaseC : public ClaseA, public ClaseB {
public:
    ClaseC(int va, int vb) : ClaseA(va), ClaseB(vb) {};
    int obtenerValorA() const { return ClaseA::obtenerValor(); }
    int obtenerValorB() const { return ClaseB::obtenerValor(); }
};
 
int main() {
    ClaseC CC(15, 18);
 
    cout << CC.obtenerValorA() << ", "
         << CC.obtenerValorB() << endl;
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar