[c++] aiuto multiplestack

ViolenceJack88

Nuovo Utente
1
0
Salve ragazzi, dovrei implementare una classe MultipleStack che fornisce la gestione di n stack ma non riesco a capire dove sbaglio.

Classe MultipleStack
Codice:
#ifndef _MULTIPLESTACK
#define _MULTIPLESTACK

#include "lista.h"
#include "pila.h"
#include "cella.h"

#include <iostream>

using namespace std;

class MultipleStack{
   
    public:
       
        MultipleStack(unsigned int);
        void Push(int, unsigned int);
        int Pop(unsigned int);
       
        
    private:
       CellaLista cella;
       Pila<cella> stack;
       Lista<stack> multiplestack;

};

classs Pila
Codice:
#ifndef PILAVT_H
#define PILAVT_H

#include <iostream>

using namespace std;


template <class Elemento>
class Pila
  {
  public:
    typedef Elemento tipoelem;
    Pila();
    Pila(int);
    ~Pila();
    void creaPila();
    bool pilaVuota() const;
    tipoelem leggiPila() const;
    void fuoriPila();
    void inPila(tipoelem);
    
  private:
    tipoelem *elementi;
    int MAXLUNGH;
    int testa;
    void clear();
  };

classe Lista
Codice:
#ifndef _LISTA
#define _LISTA

   #include <iostream>
   #include <assert.h>
    using namespace std;

    typedef int posizione;

    template <class T>
    class Lista
    {
          public:
                 Lista();   //costruttore 1
                 Lista(int );
                 ~Lista(); //distruttore

                 typedef T tipoelem;
                 void creaLista(); // implementato
                 bool listaVuota() const; // implementato
                 T leggiLista(posizione); //implementato
                 void scriviLista(tipoelem, posizione); //implementato
                 posizione primoLista() const; // implementato
                 bool fineLista(posizione) const; //implementato
                 posizione succLista(posizione) const; // implementato
                 posizione predLista(posizione) const; //implementato
                 void insLista(tipoelem, posizione); // implementato
                 void cancLista(posizione); //implementato
                 void stampaLista();
         private:
                 int lunghezza;
                 int primo_lista; //posizione del primo nella lista
                 tipoelem *VETTORE;
                 int MAX_DIM;
       };

classe cella
Codice:
#ifndef _CELLAL_H
#define _CELLAL_H


typedef int tipoelem;

// classe CellaLista
class CellaLista
  {

  public:
    
    CellaLista();     //costruttori
    CellaLista(tipoelem);
    ~CellaLista(){};  //distruttore

    void scriviCella(tipoelem);
    tipoelem leggiCella() const;
    bool operator ==(CellaLista);

  private:
    tipoelem etichetta;
  };

#endif // _CELLAL_H

Errori:

22 MultipleStack.h invalid use of non-static data member `MultipleStack::cella'

23 MultipleStack.h from this location

22MultipleStack.h invalid use of non-static data member `MultipleStack::cella'

Mi aiutate a capire dove sbaglio??
 

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili