codice:
class A
{
int i;
public:
A();
~A();
}
A::~A()
{ cout << "distruttore" << endl; }
caso 1:
codice:
A::A()
{
i=3; cout << "ciao" << endl;
}
int main()
{
A a();
}
in questo caso il programma non stampa la stringa "ciao"
e non stampa "distruttore"
caso 2:
codice:
A::A(int n)
{
i=n; cout << "ciao" << endl;
}
int main()
{
A a(3);
}
in questo caso viene stampata la stirnga "ciao"
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