• Domingo 22 de Diciembre de 2024, 18:54

Autor Tema:  Problemas Con La Utilización De La Plantilla <set>  (Leído 1030 veces)

bosspring

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Problemas Con La Utilización De La Plantilla <set>
« en: Miércoles 11 de Agosto de 2004, 09:56 »
0
Bueno, antes que nada saludaros a todos porque este es mi primer mensaje, y espero que en el futuro pueda seguir por aqui totalmente identificado con el resto de usuarios y personas que navegan por este foro.

Hace como un mes aproximadamente que empecé a trabajar con C++, y estoy teniendo algún tipo de dificultades, aunque la principal es la que os voy a plantear a continuación.

Esto intentando implementar un conjunto de elementos mediante un SET porque quiero hacer posteriores búsquedas logarítmicas sobre él. Los elementos que incluyo en dicho conjunto son de tipo "nodo" que es una clase que yo he creado. Mi problema, es que no entiendo muy bien como se hace internamente la búsqueda, y ahora mismo lo que tengo hecho es una sobrecarga de los operadores == y <, pero el resultado que me devuelve no coincide con el valor buscado, y no sé sobre donde debo trabajar.

Mi clase "nodo" tiene un aspecto como este:


#include <vector>
#include <string>

using namespace std;

class nodo{

      private:
            int max;
            short nivel1;
            vector<char> niveles;
            string expresion;
           
      public:
            nodo(int cod, short pnivel1, vector<char> pniveles);
            nodo(int cod, short pnivel1, vector<char> pniveles, string pexpresion);
            short getNivel1();
            vector<char> getNiveles();
            string getExpresion();
            int getMax();

            nodo& operator= (nodo&);
            friend bool operator== (const nodo&, const nodo&);
            friend bool operator< (const nodo&, const nodo&);
};

Y de alguna manera lo que establece las relaciones de comparación, sería por un lado comparar el valor de "nivel1" y por otro cada uno de los valores del vector de caracteres "niveles".

Si alguno de vostros sabría como ayudarme le estaría muy agradecido, porque la verdad es que me estoy volviendo "loco" con ello  :P.

Gracias de antemano por todo, y espero que a partir de ahora yo también pueda echaros una mano de vez en cuando.

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Problemas Con La Utilización De La Plantilla <set>
« Respuesta #1 en: Miércoles 11 de Agosto de 2004, 14:17 »
0
Hola!!!!!!!!!!

Por q no mandas el codigo del operador < o del == ??

Otra cosa:
En el operator = deberias recibir a nodo como const tambien ya q no lo vas a modificar nunca dentro del =

Salu2!!!!!

bosspring

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Problemas Con La Utilización De La Plantilla <set>
« Respuesta #2 en: Jueves 12 de Agosto de 2004, 10:07 »
0
Bueno, al final he sido capaz de solucionarlo, aunque si soy sincero no sé exactamente donde estaba el error, pero me imagino que en alguna de las comparaciones.

De todas formas, muchas gracias por todo. Un saludo amigo