Multidesk.be » Forums » C en C++ » STL Nested multimap (gesloten)

Helpinformatie
Dit onderwerp bevindt zich in het archief.
Het is bijgevolg niet mogelijk er nog op te reageren.
  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door NightCreature op woensdag 15 maart 2006 om 16:28:20.
NightCreature's avatar
Multiviteit: 1196
MSc.
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
ok wat ik nu heb werkt wel maar het ziet er volgens mij nog al ranzig uit weet iemand of dit netter kan

CODE
  1.  
  2. //---------------------------------------------------------------------------
  3.  
  4. #include <vcl.h>
  5. #include "iostream.h"
  6. #include "list.h"
  7. #include "map.h"
  8. #include "Info.h"
  9.  
  10. //---------------------------------------------------------------------------
  11.  
  12. int main()
  13. {
  14.   list<Info> lst = list<Info>();
  15.   map<string, list<Info> > mltmplst;
  16.  
  17.   for (int i =0 ; i<5 ; i++)
  18.   {  lst.clear();
  19.     for (int j =0 ; j<5 ; j++)
  20.     {
  21.       Info info = Info();
  22.       info.Set(j);
  23.       lst.push_back(info);
  24.     }
  25.     switch (i)
  26.     {
  27.       case 1:
  28.       {
  29.         string str = "daf";
  30.         mltmplst.insert(pair<string, list<Info> >(str, lst));
  31.         break;
  32.       }
  33.       case 2:
  34.       {
  35.         string str = "das";
  36.         mltmplst.insert(pair<string, list<Info> >(str, lst));
  37.         break;
  38.       }
  39.       case 3:
  40.       {
  41.         string str = "dad";
  42.         mltmplst.insert(pair<string, list<Info> >(str, lst));
  43.         break;
  44.       }
  45.       case 4:
  46.       {
  47.         string str = "daa";
  48.         mltmplst.insert(pair<string, list<Info> >(str, lst));
  49.         break;
  50.       }
  51.       case 5:
  52.       {
  53.         string str = "dag";
  54.         mltmplst.insert(pair<string, list<Info> >(str, lst ));
  55.         break;
  56.       }
  57.     }
  58.   }
  59.  
  60.   map<string, list<Info> >::iterator element = mltmplst.begin();
  61.   while (element != mltmplst.end())
  62.   {
  63.     list<Info>::iterator it = lst.begin();
  64.     while ( it != lst.end())
  65.     {
  66.       cout << element->first << " " << it->Get() << "\n";
  67.       it++;
  68.     }
  69.     element++;
  70.   }
  71.  
  72.   char c;
  73.   cin >> c;
  74.   return 0;
  75. }
  76. //---------------------------------------------------------------------------
  77.  


En dan gaat het me met name om de data uit de lijst te krijgen. Want op deze manier moet ik steeds een globale iterator maken ipv die via element->second te kunnen maken.

Sorry titel klopte niet zal trouwens ook ff code van Clas Info erbij plaatsen
Header en cpp achter elkaar
CODE
  1.  
  2. //---------------------------------------------------------------------------
  3.  
  4. #ifndef InfoH
  5. #define InfoH
  6. //---------------------------------------------------------------------------
  7. class Info
  8. {
  9.   private:
  10.     int i;
  11.   public:
  12.     Info();
  13.     void Set(int j);
  14.     int Get();
  15.     Info& Info::operator= (Info& I);
  16.     bool Info::operator< (Info& I);
  17.     bool Info::operator== (Info& I);
  18. };
  19.  
  20. #endif
  21.  
  22. #include "Info.h"
  23.  
  24. Info::Info()
  25. {
  26.   i = 99;
  27. }
  28.  
  29. void Info::Set(int j)
  30. {
  31.   i=j;
  32. }
  33.  
  34. int Info::Get()
  35. {
  36.   return i;
  37. }
  38.  
  39. Info& Info::operator= (Info& I)
  40. {
  41.   if (this != &I)
  42.   {
  43.     i = I.Get();
  44.   }
  45.   return *this;
  46. }
  47.  
I need thought completion.
Shaders, een beetje vreemd maar wel lekker (voor de ogen dan he)
2.83Ghz Q9550 HD4850 512MiB 4GiB 1333Mhz DDR3 RAM
http://paulintheuk.blogspot.com
FE Programmer @ Codemasters (Front End)
  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten