Ciao raga,
ho appena iniziato a programmare in C++!!!

Sto implementando le mie prime classi e da quanto ho capito alla fine della funzione in cui è creato l'oggetto è distrutto dall'apposito distruttore (ovvio!!!).

Implementando questo codice :

codice:
 #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 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";

  return 0;
}
Vedo che l'output è quello che voglio tranne per il fatto che il distruttore nn comunica nessun messaggio, come da me messo per controllare l'avvenuta chiamata.

Forse il linker di DevC++ fa pena? bho!

Mi postate il vostro output, grazie!