• Viernes 8 de Noviembre de 2024, 20:58

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Luis_Gomez

Páginas: [1]
1
C/C++ / Problema al acceder a un atributo privado de una clase
« en: Jueves 12 de Noviembre de 2009, 02:11 »
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.

Páginas: [1]