]> git.llucax.com Git - z.facultad/75.29/susanita.git/commitdiff
Agregar la capacidad como un atributo de Susanita.
authorAlberto Bertogli <albertogli@telpin.com.ar>
Mon, 7 Nov 2005 02:25:51 +0000 (02:25 +0000)
committerAlberto Bertogli <albertogli@telpin.com.ar>
Mon, 7 Nov 2005 02:25:51 +0000 (02:25 +0000)
src/susanita.cpp
src/susanita.h

index d143b836e9ce3335b11fb2e5f9725214be8d9915..02a15cb0f8c6868d766626276528b50209de83cd 100644 (file)
@@ -4,9 +4,10 @@
 #include <algorithm>
 
 Susanita::
-Susanita(size_type capacidad):
-       nombres(capacidad)
+Susanita(size_type cap):
+       nombres(cap)
 {
+       capacidad = cap;
 }
 
 // Uso interno
index 313133db23505afc4aec09f95c793fd22d6c5a13..5bff3fb318f19add3fde50dc60fd7e602d24cd6d 100644 (file)
@@ -2,7 +2,7 @@
 #define _SUSANITA_H_
 
 #include "persona.h"
-#include <map>
+#include "hashtable.h"
 #include <deque>
 #include <string>
 
 struct Susanita
 {
 
-       /// Tipos
+       /// Tipo de dato para guardar lista de personas
        typedef std::deque< Persona* > personas_type;
 
+       /// Tipo de dato de la cantidad de personas que puede tener
+       typedef HashTable::size_type size_type;
+
+       /// Constructor
+       Susanita(size_type capacidad);
+
        /// Destructor
        virtual ~Susanita();
 
@@ -20,7 +26,7 @@ struct Susanita
        virtual void add_persona(Persona* p);
 
        /// Obtiene una persona
-       virtual Persona* get_persona(const std::string& p) const;
+       virtual Persona* get_persona(const std::string& p);
 
        /// Muestra estados
        virtual void mostrar_estado(int mostrar_prios = 0) const;
@@ -34,9 +40,14 @@ struct Susanita
        /// Lista de mujeres
        personas_type mujeres;
 
+       /// Cantidad de personas que puede tener
+       size_type capacidad;
+
+
        protected:
+
        /// Tipos
-       typedef std::map< std::string, Persona* > nombres_type;
+       typedef HashTable nombres_type;
 
        /// Mapa de gente, relaciona nombres con objetos
        nombres_type nombres;