]> git.llucax.com Git - z.facultad/75.68/celdas.git/blobdiff - trunk/src/main.cpp
Evitamos memory leaks.
[z.facultad/75.68/celdas.git] / trunk / src / main.cpp
index 1489768f0a93d84583445a57595905baaacd7d75..10da19fc15d1de7784489b8a055a7a243216c38e 100644 (file)
@@ -41,7 +41,8 @@ int main(int argc, char* argv[])
        e->inicializar() ;
 
        // Inicializo las teorias
-       CTeoria t1("Avanzar", "avanzar", 1, 1) ;
+       CTeoria* pt1 = new CTeoria("Avanzar", "avanzar", 1, 1) ;
+       CTeoria& t1 = *pt1;
        t1.datos_iniciales.add ("robot.sensor_adelante",        0) ;
        t1.datos_iniciales.add ("robot.sensor_atras",           ANY) ;
        t1.datos_iniciales.add ("robot.sensor_derecha",         ANY) ;
@@ -59,8 +60,8 @@ int main(int argc, char* argv[])
        t1.datos_finales.add ("robot.avanzo_derecha",           0) ;
        t1.datos_finales.add ("robot.avanzo_izquierda",         0) ;
 
-
-       CTeoria t2("Retroceder", "retroceder", 1, 1) ;
+       CTeoria* pt2 = new CTeoria("Retroceder", "retroceder", 1, 1) ;
+       CTeoria& t2 = *pt2;
        t2.datos_iniciales.add ("robot.sensor_adelante",        ANY) ;
        t2.datos_iniciales.add ("robot.sensor_atras",           0) ;
        t2.datos_iniciales.add ("robot.sensor_derecha",         ANY) ;
@@ -79,7 +80,8 @@ int main(int argc, char* argv[])
        t2.datos_finales.add ("robot.avanzo_izquierda",         0) ;
 
 
-       CTeoria t3("Derecha", "derecha", 1, 1) ;
+       CTeoria* pt3 = new CTeoria("Derecha", "derecha", 1, 1) ;
+       CTeoria& t3 = *pt3;
        t3.datos_iniciales.add ("robot.sensor_adelante",        ANY) ;
        t3.datos_iniciales.add ("robot.sensor_atras",           ANY) ;
        t3.datos_iniciales.add ("robot.sensor_derecha",         0) ;
@@ -98,7 +100,8 @@ int main(int argc, char* argv[])
        t3.datos_finales.add ("robot.avanzo_izquierda",         0) ;
 
 
-       CTeoria t4("Eludir.1", "derecha", 1, 1) ;
+       CTeoria* pt4 = new CTeoria("Eludir.1", "derecha", 1, 1) ;
+       CTeoria& t4 = *pt4;
        t4.datos_iniciales.add ("robot.sensor_adelante",        1) ;
        t4.datos_iniciales.add ("robot.sensor_atras",           ANY) ;
        t4.datos_iniciales.add ("robot.sensor_derecha",         0) ;
@@ -117,10 +120,10 @@ int main(int argc, char* argv[])
        t4.datos_finales.add ("robot.avanzo_izquierda",         ANY) ;
 
 
-       a.teorias.add(t1.nombre, &t1) ;
-       a.teorias.add(t2.nombre, &t2) ;
-       a.teorias.add(t3.nombre, &t3) ;
-       a.teorias.add(t4.nombre, &t4) ;
+       a.teorias.add(t1.nombre, pt1) ;
+       a.teorias.add(t2.nombre, pt2) ;
+       a.teorias.add(t3.nombre, pt3) ;
+       a.teorias.add(t4.nombre, pt4) ;
 #ifdef DEBUG
        std::cout << "Agrega teoria: " << t1 << "\n";
        std::cout << "\tdatos_iniciales:\n" << t1.datos_iniciales << "\n";