• Sábado 9 de Noviembre de 2024, 03:34

Autor Tema:  Problema al acceder a un atributo privado de una clase  (Leído 1141 veces)

Luis_Gomez

  • Nuevo Miembro
  • *
  • Mensajes: 4
  • Nacionalidad: es
    • Ver Perfil
Problema al acceder a un atributo privado de una clase
« en: Jueves 12 de Noviembre de 2009, 02:11 »
0
Hola,

Estoy intentando crear un programa que consiste en una lista de equipos de fútbol, cada cual contiene una lista de jugadores. Cuando la aplicación se inicie, además de crearse todas las variables, se rellenarán con datos definidos en el mismo código.

Para ello he creado dos clases:

Código: Text
  1.  
  2. class Jugador{
  3. public:
  4. (...)
  5. private:
  6.     string _nombre;
  7.     int _valor;
  8. };
  9.  
  10.  

Código: Text
  1.  
  2. class Equipo{
  3. public:
  4. (...)
  5. private:
  6.     string _nombre;
  7.     Jugador _jugador[12];
  8. };
  9.  
  10.  


El problema aparece cuando, en el fichero main.cpp, y después de declarar las variables que voy a usar, quiero comenzar a rellenarlas con datos.

Al rellenar las variables Equipo no hay problema:

Código: Text
  1.  
  2. enum { MAX_EQUIPOS = 8 };
  3.  
  4. int main(){
  5.     Equipo eq[MAX_EQUIPOS];
  6.     eq[0].nombre("Informatica");
  7.     eq[1].nombre("Telecomunicaciones");
  8.     eq[2].nombre("Derecho");
  9. (...)
  10. }
  11.  
  12.  

Pero cuando quiero rellenar la información de los jugadores, al usar este código obtengo un error de acceso prohibido a un miembro privado:

Código: Text
  1.  
  2. (...)
  3.     eq[0]._jugador[0].nombre("Luis Gamusino");
  4.     eq[0]._jugador[1].nombre("Borja Lobaton");
  5.     eq[0]._jugador[2].nombre("Fernando Alpargata");
  6. (...)
  7.  
  8.  

He intentado crear un método de acceso al miembro privado, pero no me sirve dado que es una matriz, y el método de acceso sólo sé hacerlo sobre una variable que no sea matriz.

¿De qué manera puedo rellenar esa información sin acceder de esa forma al miembro privado?

Muchas gracias.