Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Crear objeto con MUCHOS datos: clase o diccionario?

Estas en el tema de Crear objeto con MUCHOS datos: clase o diccionario? en el foro de C/C++ en Foros del Web. Me explicaré: Voy a extraer de un fichero xml muchos datos (50 aproximadamente) que contienen la configuracion de un programa (casi todo son enteros, pero ...
  #1 (permalink)  
Antiguo 28/10/2009, 06:19
 
Fecha de Ingreso: enero-2007
Mensajes: 78
Antigüedad: 17 años, 3 meses
Puntos: 2
Crear objeto con MUCHOS datos: clase o diccionario?

Me explicaré:

Voy a extraer de un fichero xml muchos datos (50 aproximadamente) que contienen la configuracion de un programa (casi todo son enteros, pero para hacerlo mas uniforme lo guardo y lo cargo todo como si fuesen strings, y ya hago las conversiones a numero cuando sea necesario).

ahora mismo tengo una clase creada (mi_clase) que tiene como datos miembro cada uno de esos datos (dato1, dato2, dato3...), y observadores y modificadores para poder cambiar y acceder al valor de estos datos (setDato1 y getDato1, para entendernos).

el problema es que no me parece que eso sea muy "elegante", y esaba pensando si no seria mejor, en vez de tener 50 datos miembro, 50 observadores y 50 modificadores, usar un array asociativo de modo que pueda hacer directamente mi_array["dato1"] = loquesea, tanto para ver su contenido como para modificarlo.

esto lo tengo muy oxidado: son los Maps de C++, no? veis mejor ese cambio o lo dejo como esta?


Por cierto, se me olvidaba ya decir que tanto si lo dejo como esta como si lo cambio por un Map, esto va a su vez dentro de otra clase SuperClase, en la que ya tengo un observador que devuelve el objeto (getObjetoMiClase()).

gracias por la ayuda.

Última edición por Oren; 28/10/2009 a las 06:36
  #2 (permalink)  
Antiguo 28/10/2009, 17:56
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 15 años
Puntos: 5
Respuesta: Crear objeto con MUCHOS datos: clase o diccionario?

definitivamente pienso que debes crear tu propio arreglo, esa es la manera mas "elegante" de hacerlo, ademas no haces un declaradero de variables que lo unico que ocasionan es que el codigo se vea "sucio".....

Código:
for(int i = 0; i < 50; i++)
{
     tu_array[i] = tu_dato; //setdato claro que el dato debe cambiar para cada posicion
}

tu_variable = tu_array[posicion]; //getdata
algo por el estilo te puede ayudar a orientarte
__________________
Bienvenidos los karmas.
Quejas, sugerencias o dudas, se awantan......
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:33.