Przedstawienie dekonstruktora

Przedstawienie dekonstruktora

Program: przedstawiający działanie dekonstruktora.

Jak w opisie programu. Szczegółowe przetestowanie dekonstruktora.

Kompilator: Dev C++

Galeria:

Program w akcji.

Kod programu:

//Przedstawienie dekonstruktora - klasy, metody, wskaźniki

#include <cstdlib>
#include <iostream>
#include <string.h>
using namespace std;

class gadula {
      char tekst[40];
      int licz;
      public:
             gadula(int k,char*opis);
             ~gadula(void);
             int zwracaj() {return licz;}
             void schowaj(int x) {licz=x;}
             void coto()
             {cout<<tekst<<" ma wartosc "<<licz<<endl; }
             };
             gadula::gadula(int k, char *opis)
             {strcpy(tekst,opis);
             licz=k;
             cout<<"Konstruuje tekst "<<tekst<<endl;
             }
gadula::~gadula()
{
	cout<<"pracuje dekonstruktor (sprzata) "<<tekst<<endl;
}
gadula a(1,"obiekt a(globalny)");
gadula b(2,"obiekt b(globalny)");

int main(int argc, char *argv[])
{
    a.coto();
    b.coto();
    {
        cout<<" poczatek lokalnego zakresu -------\n";
        gadula c(30,"obiekt c(lokalny)");
        gadula a(40,"obiekt c(lokalny)");
		cout<<"Aktualne wartosci:\n";
		a.coto(); b.coto(); c.coto();
		cout<<"Do zaslonietego obiekt globalnego mozna sie dostac";
		::a.coto();
		cout<<"Koniec zakresu lokalnego ---------\n";
	}  
    cout<<"Juz jestem blokiem\n";
    a.coto(); b.coto();
    cout<<"Sam uruchamiam destruktor obiktu a";
    a.gadula::~gadula();
    cout<<"Koniec programu!!!!!\n";
    
    system("PAUSE");
    return EXIT_SUCCESS;
}