#include class statica1 { public: statica1 () { printf ("Crea Statica1\n"); }; ~statica1 () { printf ("Distruggi Statica1\n"); }; }; class statica2 { public: statica2 () { printf ("Crea Statica2\n"); }; ~statica2 () { printf ("Distruggi Statica2\n"); }; }; class statica3 { public: statica3 () { printf ("Crea Statica3\n"); }; ~statica3 () { printf ("Distruggi Statica3\n"); }; }; statica1 stat1; void HaStatica () { static statica2 st2; printf ("Chiamata di HaStatica ()\n"); } void HaStatica2 () { static statica3 st3; printf ("Chiamata di HaStatica2 ()\n"); } void main () { printf ("Inizio Main\n"); for (int i = 0;i < 5; i++) { HaStatica (); HaStatica2 (); } printf ("Fine Main\n"); }