Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1243 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  problème avec une pile

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème avec une pile

n°1253942
ge-lt
Posté le 26-11-2005 à 20:54:08  profilanswer
 

Je suis un débutant en c++ et je dois réaliser une classe pile (grand classique) avec une surcharge de l'opérateur "<<" pour emplier. Cet opérateur doit avoir le même type de fonctionnement que celui utilisé avec les flux
 
voici la méthode que j'ai fait:
 
template <class T> T* LIFO<T>::operator <<(T t){
 pile[nbElem] = t;
 nbElem = nbElem + 1;
 return pile;
}

mood
Publicité
Posté le 26-11-2005 à 20:54:08  profilanswer
 

n°1253956
jesus_chri​st
votre nouveau dieu
Posté le 26-11-2005 à 21:25:25  profilanswer
 

Code :
  1. template <typename T>
  2. class LIFO
  3. {
  4. public :
  5.    LIFO() {}
  6.    LIFO& operator<<(const T& t)
  7.    {
  8.       m_stack.push_back(t);
  9.       return *this;
  10.    }
  11.    LIFO& pop(void)
  12.    {
  13.       if (this->size() == 0)
  14.       {
  15.           // gerer l'erreur
  16.       }
  17.       else
  18.           m_stack.resize(m_stack.size() - 1);
  19.       return *this;
  20.    }
  21.    T& top(void)
  22.    {
  23.       return m_stack.back();
  24.    }
  25.    const T& top(void) const
  26.    {
  27.       return m_stack.back();
  28.    }
  29.    size_t size(void) const
  30.    {
  31.       return m_stack.size();
  32.    }
  33. private :
  34.    vector<T> m_stack;
  35. };
  36. LIFO<int> p;
  37. p << 3;
  38. cout << p.top() << '\n';   // 3
  39. p << 42 << 43 << 44;
  40. cout << p.top() << '\n';   // 44
  41. p.top() = 56;
  42. cout << p.top() << '\n';   // 56
  43. p.pop();
  44. cout << p.top() << '\n';   // 43


Message édité par jesus_christ le 26-11-2005 à 21:28:33
n°1253974
ge-lt
Posté le 26-11-2005 à 21:58:57  profilanswer
 

merci je vais tester ça!

n°1254103
jesus_chri​st
votre nouveau dieu
Posté le 27-11-2005 à 11:49:25  profilanswer
 

j'ai pas tester chez moi mais aux erreurs près ça devrait marcher
 
si t'as une âme de mauvais joueur tu peux tenter :
 

Code :
  1. template <typename T>
  2. class LIFO : public stack<T>
  3. {
  4.    LIFO() {}
  5.    LIFO& operator<<(const T& t)
  6.    {
  7.       push(t);
  8.       return *this;
  9.    }
  10. };


 
mais c'est un peu trop facile :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  problème avec une pile

 

Sujets relatifs
problème script shell en bash!probleme php
probleme height: 100%probleme de CSS entre IE6 et FF
Problème avec un softprobleme de mapping
Probleme de "realtime" avec onclipevent(enterFrame)[PHP] Probleme de compteur de visite et de cookie
Problème d'espace pile avec l'utilisation de RunSqlProbleme avec une pile en c ???
Plus de sujets relatifs à : problème avec une pile


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR