duda codigo

Iniciado por alvaro22, 17 Enero 2014, 21:45 PM

0 Miembros y 1 Visitante están viendo este tema.

alvaro22

Buenas, tengo un problema al hacer un constructor de una clase en c++, exactamente en este punto:hacer que el constructor de la clase Ruleta reciba un objeto de tipo Crupier.
La clase crupier ya creada tiene diferentes parametros pero los necesarios son el DNI y CodigoEmpleado que son de tipo string.
Gracias, un saludo

ivancea96

No dices el problema. Ni pones código.
:/

alvaro22

Perdón es la primera vez que escribo aquí, el problema es hacer una clase ruleta con diferentes características, una de ellas es hacer ese constructor que no consigo hacerlo. Pongo el código que se me ocurre:

Código (cpp) [Seleccionar]
#ifndef RULETA_H
#define RULETA_H
#include <iostream>
#include <string>
#include <list>
#include "persona.h"
#include "crupier.h"
using namespace std;
class Ruleta{
private:

Crupier crupier_;

public:



Crupier getCrupier(){
return crupier_;
}

void setCrupier(){
crupier_=c;
}





//Constructores
[u]Aquí el problemaRuleta(Crupier c):....)[/u]r({};



};
#endif


La clase Crupier es necesario un string DNI y string CodigoEmpleado para poder crear este objeto.

ivancea96

Código (cpp) [Seleccionar]
Ruleta(Crupier c){}
Eso no te vale?
Para llamar a ese constructor, haces:
Código (cpp) [Seleccionar]
Crupier cru(...);
Ruleta rul(cru);

Así se copiaría el objeto Crupier. Pero sigo sin saber bien cual es tu problema.

alvaro22

Pues no estoy seguro voy a probar con lo que me pusiste. Mi problema es al hacer esto: Como para crear el crupier necesitamos sus datos, hacer que el constructor de la clase Ruleta reciba un objeto de tipo Crupier.

Gracias. Un saludo

ivancea96

Puedes hacer: ruleta rl(Crupier(dni, etc));

Enviado desde mi ST21i mediante Tapatalk

alvaro22

Buenas, he probado con lo que me dijiste y no lo soluciono voy a indicar mejor el problema.
La clase Ruleta mantiene la cantidad de dinero que tiene el casino (banca_, de tipo int), el
número entre 0 y 36 que sale en cada jugada de forma aleatoria (bola_, de tipo int), una
lista de jugadores (jugadores_) y un crupier (crupier_).
La clase Ruleta debe cumplir los siguientes requisitos:
1. El constructor de la clase Ruleta inicia la bola a ­1, y la banca a 1 millón de euros.
Como para crear el crupier necesitamos sus datos, hacer que el constructor de la
clase Ruleta reciba un objeto de tipo Crupier.

Eso es exactamente lo que tengo q hacer y el código último que escribí es este:
Código (cpp) [Seleccionar]
#ifndef RULETA_H
#define RULETA_H
#include <iostream>
#include <string>
#include <list>
#include "persona.h"
#include "crupier.h"
#include "jugador.h"
using namespace std;
class Ruleta{
private:
int banca_;
int bola_;
list<Jugador> jugadores_;
Crupier crupier_;


public:

int getBanca(){
return banca_;
}

//void setBanca();

int getBola(){
return bola_;
}

//void setBola();

Crupier getCrupier(){
return crupier_;
}

void setCrupier(){
crupier_=c;
}



list<Jugador> getJugadores(){

return jugadores_;

}


//Constructores
Ruleta(int bola=-1,int banca=1000000,Crupier c="33xx","codigo1"):Crupier(DNI,CodigoEmpleado),bola_(bola),banca_(banca),crupier_(c){};



};
#endif

alvaro22

Buenas, sigo probando y nada... alguien sabría como pasar ese objeto de tipo crupier? ?

ivancea96

Probaste  pasarle como puntero?

Código (cpp) [Seleccionar]
private:

int banca_;

int bola_;

list<Jugador> jugadores_;

Crupier *crupier_;
//...

Ruleta rl(&crupier);
//...

alvaro22

#9
Buenas, pero al pasar por puntero no estoy indicandole el DNI y CodigoEmpleado que son necesarios para crear un objeto de tipo crupier. Menudo lio... . Como harias tu la parte del constructor para pasar el objeto de tipo crupier? olvidandote de mi codigo q lo mismo lleva a error.