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