Distruzione di un'istanza

  • Classi statiche: esempio5.cc
    #include <stdio.h>
    class dinamica1 {
    	static int num;
    	int id;
      public: 
    	dinamica1 () { printf ("Crea dinamica1 %d\n", id = ++num); };
    	dinamica1 (dinamica1& d) { printf ("Crea dinamica1 %d per copia\n",
    		id = ++num); };
    	dinamica1 (int i) { printf ("Crea dinamica1 %d da un intero (%d)\n", 
    		id = ++num,i); };
    	~dinamica1 () { printf ("Distruggi dinamica1 %d\n", id); };
    };
    int dinamica1::num = 0;
    void func (const dinamica1& d)
    {
    	printf ("Chiamata di funzione func ()\n");
    }
    void main ()
    {
    dinamica1 d;
    dinamica1 d2 (2);
    dinamica1 d3 = d2;
    
    	for (int i = 0;i < 2;i ++)
    	{
    		printf ("Sto per chiamare func ()\n");
    		func (dinamica1 (4));
    		printf ("Ho chiamato func ()\n");
    	}
    	printf ("Fine di main\n");
    }
    

© Ing. Stefano Salvi - All rights reserved