C++ за 21 день седьмое издание


Объявление и реализация деструктора



Download 1,38 Mb.
bet159/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   155   156   157   158   159   160   161   162   ...   437
Bog'liq
word1

Объявление и реализация деструктора

Имя деструктора, подобно конструктору, совпадает с именем класса, но предваряется тильдой (~). Так, у класса Human может быть деструктор, объявленный следующим об­ разом:




class Human


{


~Human(); // объявление деструктора

};


Этот деструктор может быть реализован в объявлении класса или вне его. Реализация или определение в классе выглядит следующим образом:


class Human


{


public:


~Human()

{
// здесь код деструктора


Деструктор 221

Определение деструктора вне объявления класса выглядит следующим образом:




class Human


{


public:


~Human();// объявление деструктора



  1. определение деструктора (реализация) Human::~Human()

{

    1. здесь код деструктора

}


Как можно заметить, объявление деструктора немного отличается от такового у кон­ структора, — оно содержит тильду (-). Однако роль деструктора прямо противоположна » л и конструктора.


Когда и как использовать деструкторы

Деструкторы всегда вызываются при выходе объекта класса из области видимости али при их удалении оператором d e l e t e . Это делает деструкторы идеальным местом для :броса переменных, а также освобождения зарезервированной динамической памяти и пругих ресурсов.





  1. этой книге регулярно рекомендуется применять строки класса s t d : : s t r i n g , а не символьные буфера в стиле С, где распределением, управлением и освобождением памяти

зам придется заниматься самостоятельно. Класс s t d : : s t r i n g и другие подобные клас­ сы обладают не только конструкторами и деструкторами, но и массой полезных утилит





  1. дополнение к операторам, которые вы изучаете на занятии 12, “Типы операторов и их перегрузка”). Проанализируем пример класса M y S trin g , представленный в листинге 9.7, яоторый резервирует память для строки в конструкторе и освобождает ее в деструкторе.

ЛИСТИНГ 9 .7 . Пример класса, инкапсулирующего буфер в стиле С


пля гарантии его освобождения при помощи деструктора_____________________________________






  1. Download 1,38 Mb.

    Do'stlaringiz bilan baham:
1   ...   155   156   157   158   159   160   161   162   ...   437




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish