C/Visual C - Llamar variables de una instancia desde otra

 
Vista:

Llamar variables de una instancia desde otra

Publicado por izacaro (2 intervenciones) el 19/01/2007 17:25:58
Hola,

quería haceros una pregunta a ver si alguien sabe cómo hacer esto. El caso es que lo que yo hago es que desde main llamo a un método de una instancia de esta manera:

colegios[0].buscaprofesor();

donde colegios[0] es una instancia de la clase colegio, que la he creado a partir de la clase de la siguiente manera:

colegio colegios[10];

con lo que se me crean 10 instancias. Yo ahora al llamar al método buscaprofesor() de la instancia 0 como ya he puesto antes pues me voy a ese metodo, pero allí quiero obtener una variable de otra instancia (instancia 1), algo así:

void colegio::buscaprofesor();
int numero = colegios[1].numeroprofesores + 5;

Y claro, al compilar me dice que colegios no está definido en este método. Por otro lado no puedo volver a poner colegio colegios[10] porque entre otras cosas la clase posee constructores que me pondrían a cero las variables de las instancias que ya he creado.

Por esto mi pregunta es qué manera hay de llamar a variables o métodos de otra instancia desde una instancia en la que estoy. Espero no haber sido muy confuso, a ver si alguien sabe algo.

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

RE:Llamar variables de una instancia desde otra

Publicado por fernando.gomez (1603 intervenciones) el 19/01/2007 19:50:19
Pues pásale un puntero:

void colegio::buscarprofesor(colegio* pColegio)
{
int numero = pColegios->numeroprofesores + 5;
...
}

// en el main
colegio colegios[10];
...
colegio[0].buscaprofesor(&colegios[1]);

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar