Liste mit vorgegebener Größe



  • Hi,

    ich möchte eine Liste auf maximal 10 Elemente beschränkgen.

    Ich hab zwar mittlerweile rausgefunden das ich das über einen Konstruktor
    (MList(int maxElements)) oder über eine Methode (setMaxElements(int maxElements)) lösen kann aber ich bräuchte mal ein Code Beispiel.

    Also wenn jemand so nett wäre...

    Danke schonmal



  • array?

    DeineKlasse deineliste[10]; // schon haste platz für genau 10 instanzen
    


  • hmm ok. aber wie sähe es denn aus, wenn ich das über eine Mehode (setMaxElements) realisieren würde?

    [ Dieser Beitrag wurde am 21.05.2003 um 20:03 Uhr von Kaifhs editiert. ]
    achso, es ist kein Array. Es soll für 'ne Template Klasse/Liste sein.

    [ Dieser Beitrag wurde am 21.05.2003 um 20:05 Uhr von Kaifhs editiert. ]



  • Hallo,

    template <class T>
    class List
    {
        private:
    
          int       mCapacity;
          T*        mArray;
    
        public:
    
          List(int Capacity)
          {
              mCapacity = Capacity;
              mArray = new T[mCapacity]
          };
    
          ~List()
          {
              delete [] mArray;
          };
    
          int GetCapacity() const 
          {
              return mCapacity;
          };
    
          int  GetArray(int Index) const
          {
              assert(0 <= Index && Index < mCapacity);
              return mArray[Index];
          };
    
          void SetArray(int Index, int Value)
          {
              assert(0 <= Index && Index < mCapacity);
              mArray[Index] = Value;
          };
    
          // Wenn du lustig bist, kannst du auch noch operator[] überladen.
    };
    

    Es sei ncoh erwähnt, dass ich sehr wenig Ahnung von C++ habe.

    mfg Th3Law



  • @Th3Law

    Danke. Das könnte mir schon sehr weiterhelfen.



  • warum ne liste nehmen wenns ne maximal kapazitaet gibt?
    da bietet sich vector doch viel besser an (es sei denn die max-kapazitaet ist riesig und wird wahrscheinlich nicht erreicht) - aber ner lsite sagen: du darfst nur X Elemente haben, finde ich irgendwie am sinnlos...



  • Ja ich weiss, aber so lautet nun mal die Aufgabenstellung 😕 .


Anmelden zum Antworten