hola amigos estaba practicando un poco con clases la cuestión es que después de meterle mano al asunto no le encuentro la vuelta...a se que el code tiene errores pero es lo que voy haciendo...si me dan una mano estaria genial
#include<iostream>
using namespace std;
class PerfilDelJugador
{
private:
int PuntosCiviles;
int PuntosMilitares;
int Honor;
int SoldadosPropiosPerdidos;
int SoldadosEnemigosMuertos;
public:
//constructor
PerfilDelJugador (int a , int b, int c, int d, int e )
{
PuntosCiviles=a; PuntosMilitares=b; Honor=c;
SoldadosPropiosPerdidos=d;
SoldadosEnemigosMuertos=e;
};
//destructor
~PerfilDelJugador(){}
//acceso encapsulamiento
int get_PuntosCiviles (void){return PuntosCiviles;}
int get_PuntosMilitares (void) {return PuntosMilitares;}
int get_Honor (void) {return Honor;}
int get_SoldadosPropiosPerdidos (void){return SoldadosPropiosPerdidos;}
};
void cargar()
{
char NombreJugador [50];
cout<< "ingrese el nombre del jugador"<<endl;
cin>>NombreJugador;
PerfilDelJugador NombreJugador;
cout<< " ingrese los puntos civiles"<< endl;
cin>>NombreJugador.a;
cout<< "ingrese los puntos militares";
cin>>NombreJugador.b;
cout<< "ingrese los puntos de honor";
cin>>NombreJugador.c;
cout>>"ingrese los soldados propios perdidos";
cin>>NombreJugador.d;
}
lo que quiero es que el ususario defina el objeto PerfilDelJugador a su vez ingrese unos datos
que es lo k kieres exactamente?
quiero que el usuario pueda definir el objeto PerfilDelJugador...y cargarle datos a esa clase
De verdad hace falta el resto del codigo (main), umm la verdad no habia visto que se pudieran hacer private y public en c++, estas encapsulando???
Pues no entiendo bien lo que estas haciendo o.O ... pero del codigo veo que en la funcion cargar en la instancia $NombreJugador de la clase PerfilDelJugador haces referencia avariables a,b,c,etc que no existen en la clase.. no estoy seguro.. pero que te parece algo así:
char NombreJugador [50];
int a,b,c,d;
cout<< "ingrese el nombre del jugador"<<endl;
cin>>NombreJugador;
cout<< " ingrese los puntos civiles"<< endl;
cin>>a;
cout<< "ingrese los puntos militares";
cin>>b;
cout<< "ingrese los puntos de honor";
cin>>c;
cout>>"ingrese los soldados propios perdidos";
cin>>d;
PerfilDelJugador NombreJugador(a,b,c,d);
No he probado el codigo pero veo unos cuantos errores a simple vista
PerfilDelJugador NombreJugador;
Esto llama a un constructor sin argumentos que no has definido, para inicializar tu objeto tendrias que hacer algo como
PerfilDelJugador pdj(a, b, c, d, e); // o bien
PerfilDelJugador* pdj = new PerfilDelJugador(a, b, c, d, e); // si quieres trabajar con punteros
Cuando lees los puntos te dara error porque intentas escribir atributos que no existen, lo que tendrias que hacer es guardar los valores en variables tipo int y luego instanciar la clase pasandole esas variables al constructor del modo que te he comentado mas arriba.
P.D. Veo que ya te ha contestado el compañero aix741, el codigo que te ha puesto es a lo que me referia.