• Martes 19 de Marzo de 2024, 11:48

Autor Tema:  Clases-> Matriz -> Estructura... ?¿  (Leído 1008 veces)

tamarinda

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Clases-> Matriz -> Estructura... ?¿
« en: Jueves 28 de Febrero de 2008, 19:38 »
0
Buenas a todas y todos  :D

Les explico:

Tengo un archivo llamado: definiciones_clases.h donde como su nombre lo indica estan definidas las clases.

Código: Text
  1.  
  2. /* MAPA */
  3. class mapa
  4. {[COLOR=orange]
  5. ////////////////////////////////////////////////////////////////////////////////
  6. ////////////////////////////////// MATRIZ LOGICA ///////////////////////////////
  7.  
  8. // estructura de un tren en la matriz logica
  9. typedef struct trensito
  10. {
  11.         int tipo; // 1. Pasajero
  12.                  // 2. Carga
  13. }TREN;
  14.  
  15. //estructura de un track de la via ferrea dentro de la
  16. // matriz logica
  17. typedef struct tracksito
  18. {                  //   _       _
  19.         int tipo; //1. |     2.  |
  20.                   //3. |_    4. _|
  21.                   //5. -     6. |
  22.  
  23.         bool status; // 0. Ocupado 1. Libre
  24. }TRACK;
  25.  
  26.  
  27. //estructura de una celde de la matriz logica
  28. typedef struct celdita
  29. {
  30.         int tipo; // 1. Estacion   2. Tren    3. Track
  31.         TRACK tra; //tra tra tra tra
  32.         TREN tre;
  33.  
  34. } CELDA;
  35.  
  36. ////FIN/////////////////////////// MATRIZ LOGICA ///////////////////////////////
  37. ////////////////////////////////////////////////////////////////////////////////
  38. [/COLOR]
  39.  
  40.         private:
  41.                 CELDA clda[17][20];
  42.                 int x,y;
  43.  
  44.         public:
  45.                 mapa(CELDA clda);
  46.                 //metodo que carga la configuracion actual de la simulacion
  47.                 void cargar_configuracion(void);
  48.                 //metodo utilizado para verificar que tipo de elemento hay en
  49.                 //unas coordenadas dadas: 1. estacion 2. tren 3. track
  50.                 int verificar_posicion(int x, int y,CELDA clda);
  51. };  //fin de la definicion de la clase: mapa
  52.  
  53.  
  54.  

Quisiera resaltar, CELDA clda[17][20]; ya que es donde tengo el problema.

Mi primera pregunta es, si es válido declarar la estructura (CELDA) de la matriz (cld[17][20]) en donde esta...?


Luego, el archivo llamado

Luego el archivo llamado: implementacion_clases.cpp es donde desarrollo el codgo de los metodos de las clases.

Código: Text
  1.  
  2. #include "definicion_clases.h"
  3.  
  4.  
  5. //constructor que inicializa la matriz logica
  6. mapa::mapa(clda)
  7. {
  8.         int fi,co;
  9.         for (fi=0;fi<=17;fi++)
  10.         {
  11.                 for (co=0;co<=20;co++)
  12.                 {
  13.  [B][COLOR=red] [SIZE=7]                       clda[fi][co].[/SIZE][/COLOR][/B]
  14.                         x=0;
  15.                 } // fin del for (co=0;co<=20;co++)
  16.         } // fin del for (fi=0;fi<=17;fi++)
  17.  
  18. };
  19.  
  20.  

es aqui, en la linea roja, donde al colocar el . para acceder a la estructura me da el siguiente error:

[C++ Error] implementacion_clases.cpp(1): Unable to invoke Code Completion due to errors in source code


he tbn colocado en: mapa::mapa(clda) -----------> mapa::mapa(CELDA clda)

pero de ninguna manera me funciona.


Esperando por favor me ayuden

Gracias de antemano.

el_shanky

  • Miembro MUY activo
  • ***
  • Mensajes: 177
    • Ver Perfil
Re: Clases-> Matriz -> Estructura... ?¿
« Respuesta #1 en: Jueves 6 de Marzo de 2008, 16:20 »
0
Primero que nada tengo entendido que la funcion miembro de la clase tiene que tener el tipo de dato que reconoce en el prototipo, es decir lo que habias hecho antes:

Citar
he tbn colocado en: mapa::mapa(clda) -----------> mapa::mapa(CELDA clda)


Despues de ver eso y sacarle todo el código html muerto que te quedó intenté compilarlo a tu prog y a mi me salta:

[C++ Error] Unit1.cpp(62): E2094 'operator+' not implemented in type 'mapa::celdita' for arguments of type 'int'

La verdad no me puse a depurar x que no me llevo bien con los structs! jaja

Tmb te aconsejo que x ser una Clase no pongas valores enteros ya que tienen que ser lo mas genéricas posible.

Ojalá te haya servido de algo! exitos!
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook



http://www.maxcode.com.ar

http://www.shanky.com.ar