C ++ dağıdıcısı

Məhv edən

Destructor, kompilyator bir obyekti məhv edərkən həmişə yerinə yetirən xüsusi bir üzv funksiyadır. Ayrılmış yaddaşın boşaldılması, istifadə olunan mənbələrin bağlanması və atılması və bir obyekti məhv etməzdən əvvəl icra etmək istədiyimiz hər şey üçün istifadə olunur.

Dağıdıcının adı tilde (~) ilə başlayır və ardından sinifin adı verilir. Dağıdıcının heç bir parametri yoxdur. Şəxsi sinif üçün bir dağıdıcı nümunəsi:

Person::~Person()
{
	cout << "Destructor called for " << firstName << " object" << endl;
}

Bu mövzu zamanı üç obyekt yaratdıq:
Person person1;//declare a person
//use constructor with 3 parameters
Person person2("Smith", "James", 1992);
person2.print();

Person person3("Green", "Alan");
person3.print();

Bu proqramı icra edin. Bütün yaradılmış obyektlər üçün məhvedici çağırılacaq:

Varsayılan konstruktor başlayır

3 parametrli konstruktor başlayır

Ad Smith

Soyadı James

Doğum ili 1992

3 parametrli konstruktor başlayır

Ad Yaşıl

Soyad Alan

Doğum ili 1990

Destructor Green obyektini çağırdı

Dağıdıcı Smith obyektini çağırdı

Dağıdıcı obyekt çağırdı

Sonuncu sətirdə “Nöqtəçi çağırıldı” heç bir ad göstərmir, çünki şəxs1 default qurucudan istifadə edərək yaradılmışdır. Gördüyünüz kimi, dağıdıcılar yaradılan obyektlərin sırasına nisbətən arxa sırada çağırılır. İlk yaradılan obyekt sonuncusu məhv edilir. Və son yaradılan obyekt əvvəlcə məhv edilir.

Translate »