Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    98

    Template non funzionante: come mai?

    Raga mi date un'occhiata a questo Template? Grazie.

    stack.h
    codice:
    #ifndef _STACK_
    #define _STACK_
    
    template<class tipo>
    
    class stack
    {
        int top;
        int size;
        tipo* elements;
    
        public:
           
            stack(int n);
            ~stack() {delete[] elements;}
            void push(tipo a);
            tipo pop();
    };
    
    #endif // _STACK_

    stack.cpp

    codice:
    #include "stack.h"
    #include <iostream.h>
    
    template<class tipo>
    
    stack<tipo>::stack(int n)
    {
        size = n;
        elements = new tipo[size];
        top = 0;
    }
    
    void stack<tipo>::push(tipo a)
    {
        if (top < size)
        {
            elements[top] = a;
            top++;
        }
    }
    
    tipo stack<tipo>::pop()
    {
        if (!top)
            return (tipo) 0;
        top--;
        return elements[top];
    }
    
    void display(stack<tipo>& s)
    {
        tipo a;
        while (a = s.pop())
        cout << a << endl;
    }
    main.cpp
    codice:
    #include "stack.h"
    #include <iostream.h>
    
    void main()
    {
        stack<char> cstack(10);
        stack<double> fstack(20);
        stack<char*> sstack(5);
        cstack.push('a');
        cstack.push('b');
        cstack.push('c');
        display(cstack); // scrive: c b a
        fstack.push(1.23);
        fstack.push(4.56);
        fstack.push(7.89);
        display(fstack); // scrive: 7.89 4.56 1.23
        sstack.push("uno");
        sstack.push("due");
        sstack.push("tre");
        display(sstack); // scrive: tre due uno
    }

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    Moderazione

    Stai già parlando di problemi con template in un'altra discussione.

    Inoltre, continui a non indicare il linguaggio.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.