Template-Klasse Stack ->Problem mit Methoden



  • Hi,
    ich habe ein Problem mit der Stack-implementierung.
    Und zwar habe ich den folgenden Rumpf einer Template-Klasse Stack gegeben und will die Methoden nun Programmieren.Ich bitte um hilfe!!!!
    hier ist ma der code:

    #ifndef _STACK_H
    #define _STACK_H
    
    template <class T> //Hilfsklasse zur Speicherung der in dem Stack zu    
    class stackNode {  //verwaltenden Datein
    
    public:
      T data;
    
    };
    
    template <class T> 
    class Stack {
    
    public:
      Stack();     // Konstruktor (realisiert create() )
      ~Stack();    // Destruktor
    
      bool push(const T&);    
      void  pop();            //entfernt das oberste element vom stack
      T& top() const;        //gibt oberstes element zurück
      bool isEmpty() const;  //test ob stack leer ist
      int size() const;      //liefert aktuelle anzahl Elemente auf Stack
    
    private:
      stackNode<T> *topp; // Zeiger auf Kopf des Stacks
      int counter;        // Anzahl Elemente im Stack
    };
    
    #endif
    

    Wie mache ich das am besten???
    Dieser Rumpf ist gegeben und ich soll ihn ausfüllen und dann noch eine passende Main-Fktn schreiben.Aber wenn ihr mir bei den Rumpf weiterhelfen könnten wär ich euch schon verbunden.
    lg steve



  • 1. Das ist ein Klassentemplate und
    2. Was ist genau dein Problem?

    Ist doch klar, was du machen sollst:

    #ifndef _STACK_H
    #define _STACK_H
    
    template <class T> //Hilfsklasse zur Speicherung der in dem Stack zu    
    class stackNode {  //verwaltenden Datein
    
    public:
      T data;
    
    };
    
    template <class T>
    class Stack {
    
    public:
      Stack();     // Konstruktor (realisiert create() )
      ~Stack();    // Destruktor
    
      bool push(const T&){ // hier kommt etwas rein, das dir T ans ende des stacks pusht}   
      void  pop(){ // hier kommt etwas, das das letzte Element löscht}           
      T& top() const;        //gibt oberstes element zurück
      bool isEmpty() const;  //test ob stack leer ist
      int size() const;      //liefert aktuelle anzahl Elemente auf Stack
    
    private:
      stackNode<T> *topp; // Zeiger auf Kopf des Stacks
      int counter;        // Anzahl Elemente im Stack
    };
    
    #endif
    

    usw.

    Zeig mal, wie weit do bei diesen Funktionen bist. Hausaufgaben musst du selbst lösen. (zumal ein paar Funktionen trivial zu erledigen sind.. 🙄)



  • Eine kleine Anmerkung zu einem Fehler der in letzter Zeit wieder grassiert: Bezeichner mit führende Unterstrichen, gefolgt von Großbuchstaben, sind (genau wie doppelte Unterstriche) für den Compiler reserviert. Dazu gehören auch Makros. Daher solltest du für die Includeguards andere Namen wählen.



  • @drakon
    Hatte bloß am anfang nur ein Verständniss Problem, mit den Methoden.
    Hab das mit den Methoden jetzt verstanden was ich da machen soll.
    Werde mich jetzt nochma dran setzten.
    Wenn es noch Probleme gibt melde ich mich noch ma 😃

    @pumuckel
    Danke das werde ich in Zukunft berücksichtigen.

    Danke und Gruß Steve


Anmelden zum Antworten