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

Duda con Set<> de la Stl

Estas en el tema de Duda con Set<> de la Stl en el foro de C/C++ en Foros del Web. el problema es q en todos los tutoriales q veo sucede q class A { private: int i; public: A(inti){this.i=i;} }; class B { private: ...
  #1 (permalink)  
Antiguo 07/06/2006, 17:43
 
Fecha de Ingreso: enero-2006
Mensajes: 6
Antigüedad: 18 años, 4 meses
Puntos: 0
Duda con Set<> de la Stl

el problema es q en todos los tutoriales q veo sucede q
class A
{
private: int i;
public:
A(inti){this.i=i;}

};
class B
{
private: Set< > conjuntoA;
};

Ahora la duda es q parametros tengo q pasarle al Set<> ....
  #2 (permalink)  
Antiguo 12/06/2006, 22:02
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 18 años, 9 meses
Puntos: 0
Tienes que indicarle que tipo de dato va a contener el conjunto (Set).

Set<int > conjuntoA;
__________________
Recursos Visual C++
  #3 (permalink)  
Antiguo 13/06/2006, 03:29
 
Fecha de Ingreso: enero-2006
Mensajes: 6
Antigüedad: 18 años, 4 meses
Puntos: 0
ahhh eso lo hago le indico el tipo de dato q tendra el set
Set< tipodato, less<>> conjuntoA;

he preguntado y me han dicho q el less<> , es la funcion para comparar o sea si hiciera


Set<int> conjuntoA;

no hay problema con eso porq son de tipo int y la funcion less compararia sin problemas pero si

no es de tipo int es de tipo ejemplo class B
Set<B,less<algo va aqui>> conjuntoB;

ya less<>no funciona y entonces el conjunto da error probe sobrecargando el operador >, el < y el = y no me funciono


Alguien tiene algun ejemplo o podria explicarme
  #4 (permalink)  
Antiguo 21/06/2006, 20:41
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Código:
class A
{
private: int i;
public:
A(inti){this.i=i;}

};
class B
{
private: Set< > conjuntoA;
};
Este es el codigo que pusiste como ejemplo, hay un par de correcciones:

Código:
class A
{
private: 
   int i;
public:
   A(inti){this->i=i;} // Correccion aqui

};
class B
{
private: Set<A, less<A> > conjuntoA; // Correccion
};
Aqui estoy suponiendo que quieres hacer un conjunto de del tipo "A", les recive como parametro el tipo de valor que va a contener el conjunto. Esta plantilla (less) es la que se usara para ordenar el conjunto, de hecho contendra la funcion que sera usada para comparar dos elementos.

Detalle importante fijate en el espacio que hay entre ">(aqui va un espacio en blanco)>" si los colocas juntos el compilador lo tomara como el operador de corrimiento de bits ">>"

Pd: Cualquier incoherencia es culpa de la falta de cafe...
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
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:23.