Mientras que surjan nuevos problemas de mi pregunta anterior Overloaded assignment operator causes warning about recursion, se me instó legítimamente a publicar esto como uno nuevo. Tengo un miembro de clase de referencia en mi clase Player y quiero implementar el constructor de copia y el operador de asignación (=) de esta clase. Debo mencionar que el propósito es el buen funcionamiento de la función vector.erase porque sin eso no funciona correctamente en lo que a mí respecta. Yo uso un vector: vector allPlayers; Los miembros de la clase del jugador son:Operador de asignación con el miembro de la clase de referencia
class Player
{
private:
int ID;
int pMoney;
int doubleIndicator;
int squarePosition;
Bank& bank;
string pName;
Square* capturedSquare;
multimap<string, PropertySquare*> squaresColBought;
multimap<string, House*> housesColBuilt;
}
¿Es obligatorio para evitar el uso de referencia, como miembro de la clase si quiero aplicar el operador de asignación? ¿Y los miembros del mapa? ¿Cómo debería implementar finalmente el operador de asignación?
Otro tema de suma importancia del que no estoy al tanto es lo que sucede con los objetos apuntados por los miembros de la clase de punteros cuando borro el iterador del vector que contiene el Reproductor. ¿Alguna ayuda?
"Otro problema" => otra pregunta para principiantes :) – xtofl
¿Qué quiere que haga el operador de asignación con el Banco? – fredoverflow
FredOverflow: solo para copiar el banco en el objeto lhs – arjacsoh