cs_agah
Messages postés1Date d'inscriptionmercredi 24 février 2010StatutMembreDernière intervention24 février 2010
-
24 févr. 2010 à 14:52
dragonjoker59
Messages postés92Date d'inscriptionsamedi 26 mars 2005StatutMembreDernière intervention23 septembre 2015
-
24 févr. 2010 à 17:47
Bonjour
J'ai un probleme pour la surcharge de operator<
Je ne sais vraiment comment faire pour trier mon list
class matrice{
private:
struct element{
int indice;
int nombre ;
};
list<element> litEtl;
public:
matrice();
trier();
bool operator<(const element&);
};
Je ne sais avec quel element comparer mon element de const element,
J ai vu que en redefinissant le operator< la liste va se trier lui meme
Mais je ne sais comment faire
J ai absolument besoin qu'om m'aide
Ca fait quelque heures que j'avance pas
dragonjoker59
Messages postés92Date d'inscriptionsamedi 26 mars 2005StatutMembreDernière intervention23 septembre 2015 24 févr. 2010 à 15:30
Tu n'as qu'à définir ton opérateur en fonction de classe de 'element' (qui devient alors une classe) et tu compares donc ton paramètre de fonction à 'this'
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 24 févr. 2010 à 17:40
La comparaison doit se faire au niveau d'élément pas de matrice donc:
class matrice
{
private:
struct element
{
int indice;
int nombre ;
bool operator<(const element&);
};
list<element> litEtl;
public:
void matrice();
void trier();
};
@dragonjoker59:
qui devient alors une classe)
Heu... Non pas tout à fait. En C++ struct et class ce sont la même chose !
Seul le niveau de visiblité par défaut change.
dragonjoker59
Messages postés92Date d'inscriptionsamedi 26 mars 2005StatutMembreDernière intervention23 septembre 2015 24 févr. 2010 à 17:47
Oué, je sais, après c'est une question de préférence, surtout. Personnellement, je ne mets pas de fonctions dans un struct, je préfère la mettre en class (restes du C ?)