#include <stdio.h>
class statica1 {
	public: 
	statica1 () { printf ("Crea Statica1\n"); };
	~statica1 () { printf ("Distruggi Statica1\n"); };
};
class automatica2 {
	public: 
	automatica2 () { printf ("Crea automatica2\n"); };
	~automatica2 () { printf ("Distruggi automatica2\n"); };
};
class automatica3 {
	public: 
	automatica3 () { printf ("Crea automatica3\n"); };
	~automatica3 () { printf ("Distruggi automatica3\n"); };
};
statica1 stat1;
void HaAutomatica ()
{
automatica2 au2;
	printf ("Chiamata di HaAutomatica ()\n");
	{
	automatica3 au3;
		printf ("Blocco interno ()\n");
	}
	printf ("Fine di HaAutomatica ()\n");
}
void main ()
{
	printf ("Inizio Main\n");
	for (int i = 0;i < 2; i++)
	{
		HaAutomatica ();
	}
	printf ("Fine Main\n");
}

