Cerca nel blog

giovedì 25 settembre 2014

Costruttore-distruttore

Il costruttore è un metodo quando viene dichiarato un oggetto e serve per allocare la memoria del medesimo. Il nome del costruttore deve essere lo stesso della classe, ci possono essere più costruttori a patto che i loro parametri siano differenti. Esiste inoltre un costruttore di default senza parametri.
Il distruttore è sempre un metodo e viene chiamato quando un oggetto viene rilasciato dalla memoria, infatti serve per liberare lo spazio sulla memoria, deve avere lo stesso nome della classe preceduto dal carettere speciale ~, il distruttore è uno solo non necessitando di parametri. Come per il costruttore esiste un  distruttore di default.
Di seguito un semplice esempio di uso di costrotturi e distruttori:

#include<iostream>
using namespace std;
class A{        //dichiaro una classe
                //di defaukt gli attributi sono privati, cioè nn accessibile dall'esterno
        int c;
       public:     // con public rendo i metodi accessibili dall'esterno
        A();    // costruttore
        A(int a);
        A(float a);
        ~A();   // distruttore
        void stampa(); //dichiaro un metodo
        };
void A::stampa() //definizione sterna del metodo stampa
{
        cout << c;
}
A::A(int a)//inizializzo c con il costruttore
{
   cout << "sono int"<<a;
}
A::A(float a)//inizializzo c con il costruttore
{
   cout << "\nsono float"<<a;
}
A::A()//inizializzo c con il costruttore
{
cout << "eseguo costruttore \n";
}
A::~A()// liberiamo la memoria occupata dall'oggetto
{
cout << "eseguo distruttore\n";
}
 main() //corpo
 {
   //dichiarazione di un oggetto
  //B.c; error 'int A::C is private'
  A stampa(5);//notazione puntata per raggiungere il metodo nell'oggetto
  A stampa1((float)1.5);
  A stampa2;
  return 0;
}


Provando ad eseguire il programma si noterà quando il costruttore e il distruttore vengono chiamati.

Nessun commento:

Posta un commento