// PASO DE PUNTEROS POR REFERENCIA // =============================== // Una vez entendido el ejemplo anterior, deberias ser capaz de decir // que hay que cambiar en las dos funciones "intercambiarInutil" que // aparecen abajo para que realmente sirvan para realizar intercambios #include #include using namespace std; class Jugador { string nombre; int edad; public: Jugador(const string & elNombre, int laEdad) : nombre{elNombre}, edad{laEdad} { } void mostrar() { cout << "(" << nombre << " : " << edad << ")" << endl; } }; void intercambiarInutil(int a, int b) { int tmp = a; a = b; b = tmp; } void intercambiarInutil(Jugador * a, Jugador * b) { Jugador * tmp = a; a = b; b = tmp; } int main () { int unEntero = 11, otroEntero = 22; cout << unEntero << " " << otroEntero << endl; intercambiarInutil(unEntero, otroEntero); cout << unEntero << " " << otroEntero << endl; Jugador * unJugador = new Jugador("Pedro", 33), * otroJugador = new Jugador("Alicia", 44); unJugador->mostrar(); otroJugador->mostrar(); intercambiarInutil(unJugador, otroJugador); unJugador->mostrar(); otroJugador->mostrar(); }