Lista Utenti taggati

Risultati da 1 a 3 di 3
  1. #1

    Data Registrazione
    24-07-11
    Messaggi
    241
    Specifiche del sistema
    Ringraziamenti / Mi Piace
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Problems Posted
    0
    Problems Solved
    0
    Best Answers
    0
    Good Answers
    0

    Predefinito C++ - Generalizzazione lista

    Salve a tutti, ho un problema con una traccia.

    Devo generalizzare una lista in modo che funga con vari tipi di dato.

    All'inizio il programmino funzionava perfettamente ma mentre apportavo qualche modifica ha dato un errore e non sono più riuscito a farlo andare.

    Ecco che errori mi dà:
    Codice:
    lista.cpp:7:1: error: redefinition of ‘lista<T>::~lista()’
    lista.cpp:7:1: error: ‘lista<T>::~lista()’ previously declared here
    lista.cpp:20:6: error: redefinition of ‘void lista<T>::inserisci(T)’
    lista.cpp:20:6: error: ‘void lista<T>::inserisci(T)’ previously declared here
    lista.cpp:32:6: error: redefinition of ‘void lista<T>::stampa()’
    lista.cpp:32:6: error: ‘void lista<T>::stampa()’ previously declared here
    Ecco il programma:

    lista.h
    Codice:
    #ifndef LISTA_H
    #define    LISTA_H
    
    template <class T>
    struct nodo{
        
        nodo<T>*successivo;
        T valore;
        
    };
    
    template <class T>
    class lista{
        
        nodo<T>*primo;
        
        public:
            lista(){primo=0;}
            ~lista();
            
            void inserisci(T);
            void stampa();
      
    };
      #include "lista.cpp"
    
    #endif
    lista.cpp
    Codice:
    #include "lista.h"
    #include <iostream>
    
    using namespace std;
    
    template <class T>
    lista <T>::~lista(){
        
        
        while(primo!=0){
            nodo<T>*temp=primo;
    
            primo=temp->successivo;
    
            delete temp;
        }
    }
    
    template <class T>
    void lista <T>::inserisci(T val){
        
        nodo<T>*temp=new nodo<T>;
        
        temp->successivo=primo;
        
        primo=temp;
        
        temp->valore=val;
    }
    
    template <class T>
    void lista<T>::stampa(){
        
        nodo<T>*temp=primo;
        
        while(temp!=0){
            cout<<"\nValore: "<<temp->valore;
            temp=temp->successivo;
        }
        cout<<endl;
    }
    main.cpp
    Codice:
    #include <cstdlib>
    #include "lista.h"
    #include <iostream>
    
    using namespace std;
    
    /*
     * 
     */
    int main(int argc, char** argv) {
    
        cout<<"Test INT";
        lista<int> lsint;
        lsint.inserisci(22);
        lsint.inserisci(44);
        lsint.inserisci(6654);
        lsint.stampa();
        
        cout<<"\nTest FLOAT";
        lista <float> lsfloat;
        lsfloat.inserisci(43.55443);
        lsfloat.inserisci(543.576);
        lsfloat.inserisci(3255.9786);
        lsfloat.stampa();
        
        cout<<"\nTest DOUBLE";
        lista <double> lsreal;
        lsreal.inserisci(776554433);
        lsreal.inserisci(325425323234);
        lsreal.inserisci(64637353);
        lsreal.stampa();
        
        cout<<"\nTest CHAR";
        lista <char> lschar;
        lschar.inserisci('o');
        lschar.inserisci('a');
        lschar.inserisci('i');
        lschar.inserisci('c');
        lschar.stampa();
        
        return 0;
    }

  2.  
    Stanco della Pubblicità? Registrati

  3. #2

    Data Registrazione
    24-07-11
    Messaggi
    241
    Specifiche del sistema
    Ringraziamenti / Mi Piace
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Problems Posted
    0
    Problems Solved
    0
    Best Answers
    0
    Good Answers
    0

    Predefinito Re: C++ - Generalizzazione lista

    up

  4. #3

    Data Registrazione
    04-04-09
    Messaggi
    5
    Specifiche del sistema
    Ringraziamenti / Mi Piace
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Problems Posted
    0
    Problems Solved
    0
    Best Answers
    0
    Good Answers
    0

    Predefinito Re: C++ - Generalizzazione lista

    dal file header rimuovi l'include dell'implementazione dei metodi, ovvero cancella la riga
    Codice PHP:
    .....
    #include "lista.cpp"
    ..... 

  5.  
    Stanco della Pubblicità? Registrati

Informazioni Discussione

Utenti che Stanno Visualizzando Questa Discussione

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Torna Su