codice:class A { int i; public: A(); ~A(); } A::~A() { cout << "distruttore" << endl; }
caso 1:
in questo caso il programma non stampa la stringa "ciao"codice:A::A() { i=3; cout << "ciao" << endl; } int main() { A a(); }
e non stampa "distruttore"
caso 2:
in questo caso viene stampata la stirnga "ciao"codice:A::A(int n) { i=n; cout << "ciao" << endl; } int main() { A a(3); }
e anche la stringa "distruttore"
sembrerebbe che il costruttore senza parametri
non venga chiamato e visto non viene chiamato il distruttore
sembra che non venga istanziato l'oggetto neancjhe
col costruttore di default. perché?
N.B. uso il borland gratuito (linea di comando) e il dev c++
col dev c++ facendo le opportune modifiche come usare
std::cout invece che cout

Rispondi quotando
,