Dev - C++ - ejecutar métodos de un objeto en otros objetos.

 
Vista:

ejecutar métodos de un objeto en otros objetos.

Publicado por Maurus (1 intervención) el 26/02/2023 18:58:28
Hola compañeros, buenos días, tardes o noches.

estoy intentando construir un pequeño juego, y estoy en una disyuntiva.

yo tengo la clase mapa, que yo quiero que una misma instancia, se comparta entre todos los personajes, fundamentalmente para consultar si la coordenada donde quieren ir está disponible o no.

yo pensé en hacerlo así, con punteros, pero no sé si es la mejor forma.
les dejo el código que creé que al menos me funcionó, pero quizás hay alguna forma más recomendable de hacer lo mismo.

#include <iostream>
#include <stdlib.h>
using namespace std;

class Mapa
{
private:
int x, y;

public:
Mapa ();
int getX ();
int getY ();
};

Mapa::Mapa ()
{
x = 10;
y = 19;
}

int Mapa::getX ()
{
return x;
}

int Mapa::getY ()
{
return y;
}

class Persona
{
private:
Mapa * map;
int x, y;

public:
Persona (Mapa *);
void consultar();
};

Persona::Persona (Mapa*m)
{
map = m;
x = 9;
y = 18;
}

void Persona::consultar ()
{
cout << "el valor de x es: " << map->getX() << endl;
}

int main ()
{
Mapa map;
Mapa *mp = &map;

Persona p1 (mp);
p1.consultar ();

system ("pause");
return 0;
}

Muchas gracias por leer,

un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder