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 :
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.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; }
Forse il linker di DevC++ fa pena? bho!
Mi postate il vostro output, grazie!![]()