Problema Métodos y Herencia
Publicado por Vicente (3 intervenciones) el 28/10/2020 14:48:39
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
/*Hola, estaba haciendo este programa de batallas eligiendo las armas y "entregándoselas" a los jugadores para que después peleen entre si. Sin embargo en la parte que le entrego el arma a un jugador y pido el "get Narma()" no me retorna nada. Creo que no estoy haciendo bien el tema de la herencia y me falta arreglar los métodos de la clase Arma, si me pueden ayudar estaría perfecto, Gracias.*/
#include <iostream>
using namespace std;
class Arma{
protected:
string Narma;
int Darma;
public:
Arma(string Narma,int Darma){
this->Narma=Narma;
this->Darma=Darma;
}
int getDarma(){
return this->Darma;
}
string getNarma(){
return this->Narma;
}
};
class Jugador:public Arma{
protected:
string Njugador;
int Vjugador;
Arma *arma;
public:
Jugador(string Njugador,int Vjugador,Arma *arma):Arma(Narma,Darma){
this->Njugador=Njugador;
this->Vjugador=Vjugador;
this->arma=arma;
}
string getNjugador(){
return this->Njugador;
}
int getVjugador(){
return this->Vjugador;
}
void setVjugador(int Vjugador){
this->Vjugador=Vjugador;
}
};
class Batalla{
private:
Jugador *jug[2];
public:
Batalla(){
jug[0]=NULL;
jug[1]=NULL;
}
void LadoDerecho(Jugador *Runiz){
this->jug[0]=Runiz;
cout<<this->jug[0]->getNjugador()<<" "<<this->jug[0]->getVjugador()<<" "<<this->jug[0]->getNarma();
cout<<endl;
}
void LadoIzquierdo(Jugador *Anto){
this->jug[1]=Anto;
cout<<this->jug[1]->getNjugador()<<" "<<this->jug[1]->getVjugador()<<" "<<this->jug[1]->getNarma();
}
};
int main(){
Batalla *batalla=new Batalla();
Arma *E1=new Arma("Espada",10);
Jugador *Runiz=new Jugador("Vicente",10000,E1);
Jugador *Anto=new Jugador("Antonia",10000,E1);
batalla->LadoDerecho(Runiz);
batalla->LadoIzquierdo(Anto);
return 0;
}
Valora esta pregunta


0