Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C++]Distruttore stack non funziona

    Sto studiando i distruttori e costruttori e ho il seguente programma relativo a una semplice applicazione agli stack:

    Codice PHP:
    #include <iostream>
    using namespace std;

    #define SIZE 100
    // Creazione della classe stack.

    class stack 
      
    int stck[SIZE];
      
    int tos;
    public:
      
    stack();  // costruttore
      
    ~stack(); // distruttore
      
    void push(int i);
      
    int pop();
    };

    // costruttore dello stack
    stack::stack()
    {
      
    tos 0;
      
    cout << "Stack inizializzato\n";
    }

    // distruttore dello stack
    stack::~stack()
    {
      
    cout << "Stack distrutto\n";
    }


    void stack::push(int i)
    {
      if(
    tos==SIZE) {
        
    cout << "Stack esaurito.\n";
        return;
      }
      
    stck[tos] = i;
      
    tos++;
    }

    int stack::pop()
    {
      if(
    tos==0) {
        
    cout << "Stack vuoto.\n";
        return 
    0;
      }
      
    tos--;
      return 
    stck[tos];
    }


    int main()
    {
      
    stack ab;  // crea due oggetti della classe stack

      
    a.push(1);
      
    b.push(2);

      
    a.push(3);
      
    b.push(4);

      
    cout << a.pop() << " ";
      
    cout << a.pop() << " ";
      
    cout << b.pop() << " ";
      
    cout << b.pop() << "\n";
      
      
    system("PAUSE");
      return 
    0;

    L'esecuzione del programma dovrebbe darmi:
    Stack inizializzato
    Stack inizializzato
    3 1 4 2
    Stack distrutto
    Stack distrutto

    Invece mi da:
    Stack inizializzato
    Stack inizializzato
    3 1 4 2


    Che cosa ho sbagliato???secondo voi???
    L'impossibile richiede solo più tempo...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    La frase l'avrai prima che il programma termini (poco prima del return) e probabilmente non arrivi a vederlo se non esegui il programma da console.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    come faccio quindi a vederla...cioè come faccio ad eseguirlo da console???
    L'impossibile richiede solo più tempo...

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Non so con quale sistema operativo lavori, ma apri una console ed esegui il file compilato ... non so come dirtelo diversamente.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    grazie...ci sono riuscito....davvero grazie...ho imparato una cosa nuova


    RISOLTO!!!
    L'impossibile richiede solo più tempo...

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.