Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15
  1. #11
    E' la mia stessa versione e anchio uso WinXP.

    Sei sicuro che questo codice non funzioni come ci si dovrebbe aspettare?
    codice:
    #include <iostream>
    #include <stdlib.h>
    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 a, b;  // 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;
    }

  2. #12
    il mio output per l'ultimo codice che mi hai postato:


    Stack inizializzato
    Stack inizializzato
    3 1 4 2
    Premere un tasto per continuare . . .

    Non so ch pensare
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  3. #13
    Stavo quasi per cascarci anche io

    in effetti possiamo dire che in parte la colpa della confusione è del mio ultimo codice.

    Ci aspettavamo (io compreso ) di vedere "stack distrutto" subito prima di "premere un tasto per proseguire"... invece i distruttori vengono chiamati dopo, all'uscita da main!

    Provate a farlo partire da riga di comando e vedrete che funzionerà !

  4. #14
    :maLOL: :maLOL: :maLOL:
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  5. #15
    Bravo!!!Molto in gamba,avevi ragione.Ciao ciao
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

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 © 2026 vBulletin Solutions, Inc. All rights reserved.