Bonjour à tous voila j'ai une classe CSetInt qui permet de gérér des int.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef CSETINT_H 
#define CSETINT_H
#include <string>
 
class CSetInt
{
    public:
        CSetInt();// constructeur par défaut (inutilisé)
        CSetInt(size_t dSize);// constructeur réellement utilisé 
        ~CSetInt(); //destructeur 
		CSetInt(const CSetInt&);//constructeur par copie
        const std::string& error() const;// pour savoir ce qui a pu foirer
        bool addInteger();// pour ajouter un entier 
        size_t maxSize() const;// pour connaitre le nombre maximal d'entier attendu 
        size_t count() const;// pour connaitre le nombre d'eniters déjà introduits:cardinal
        void affiche() const;// pour afficher les entiers introduits  
        bool existe(int dSearch) const;// pour savoir si un entier se trouve deja dans le tableau 
		//les fonctions membres const ne peuvent pas modifier les variables membres de la classe
 
		//ajout de opérateurs < et []
		bool operator < (const int &dNbr);
		int operator [] (int dNbr);
 
		/*size_t corresponds to the integral data type returned by the language operator sizeof */
    protected:
    private:
        int * m_pdTab;
        size_t m_dCurPos;
        size_t m_dSize;
        std::string m_error;	
};
 
#endif // CSETINT_H
je dois surcharger < pour qu'il insere des int dans l'ensemble

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bool CSetInt::operator < (const int &dNbr)
{
	if(m_dCurPos == m_dSize)
    {
        m_error="le tableau est plein";
        return false;
    }
    if(existe(dNbr))
    {
        m_error = "le nombre introduit existe deja";
        return false;
    }
    m_pdTab[m_dCurPos] = dNbr;
    ++m_dCurPos;
    m_error = "";
    return true;
}
dans le main après déclaration de l'objet oEnsemble, initialisé correctement...
je veux inserer les 3 nombre suivants et je mets:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
oEnsemble1 < 24 < 35 < 45;
en allant regarder ce qui est intoduit il n'y a que le 24, je ne comprends pas, peut etre que j'ai mal implemente l'operateur...merci de votre aide