Bonjour à tous voila j'ai une classe CSetInt qui permet de gérér des int.
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
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
dans le main après déclaration de l'objet oEnsemble, initialisé correctement...
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; }
je veux inserer les 3 nombre suivants et je mets:
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part oEnsemble1 < 24 < 35 < 45;
Partager