Сайфиев ж. Ф. С++ тилига кириш услубий қўлланма


Объектни динамик тақсимланувчи хотирадан ўчириш


Download 3.45 Mb.
bet62/79
Sana18.10.2023
Hajmi3.45 Mb.
#1707139
1   ...   58   59   60   61   62   63   64   65   ...   79
Bog'liq
cpp buxoro

Объектни динамик тақсимланувчи хотирадан ўчириш.


delete оператори ишлатилганда автоматик тарзда ундан кейин ёзилган кўрсаткичда адреси сақланувчи объект тегишли синф деструктори чақирилади. Қоида бўйича синф деструктори объектнинг динамик хотира соҳасида эгаллаган барча хотира соҳасини бўшатади. Объектни динамик хотирага жойлаштириш ва ўчиришга оид мисол 8.5- листингда кўрсатилган.
8.5. – листинг. Динамик хотира соҳасига объектларни жойлаштириш ва уларни ўчиришга оид мисол.
// 8.5. – листинг.
// Динамик тақсимланувчи соҳада объектларни
//жойлаштириш ва ўчириш
# inсlude

class SimpleCat


{
public:
SimpleCat();
~SimpleCat();
private:
int itsAge;
}

SimpleCat:: SimpleCat( )


{
cout<< “Contructor called .\n ”;
itsYosh= 1;
}
SimpleCat:: ~ SimpleCat( )
{
cout <<”Destructor called .\n”;
}
int main()
{
cout << “Simple Cat Fricky… \n”;
SimpleCat Frisky;
cout << “SimpleCat *pRags = new SimpleCat… \n”;
SimpleCat* pRags = new SimpleCat;
cout<< “delete pRags… \n”;
delete pRags
cout<< “Exiting, watch Fricky go … \n”;
return 0;
}


НАТИЖА
SimpleCat Frisky…
Constructor called.
Simple Cat*pRags = new Simple Cat…
Construсtor called
delete pRags…
Destructor called
Exiting, wath Frisky go …
Destructor called.
ТАҲЛИЛ
6 – 13 – сатрларда оддий SimpleCat синфининг тавсифи берилган. Синф конструкторининг тавсифи 9 – сатрда, унинг танасининг тавсифи эса 15 – 19 – сатрларда берилган. Деструктор эса 10 – сатрда, унинг танаси эса 21 – 24 – сатрларда тавсифланган.
29 – сатрда бу синфнинг стекда жойлашувчи экземпляри тузилади. Бунинг учун SimpleCat синфининг конструктори ошкормас тарзда чақирилади. Синфининг иккинчи объекти 31 – сатрда тузилади. Бу ҳолда ҳам конструктор чақирилади. SimpleCat cинфининг деструктори 33 – сатрда pRags кўрсаткичи учун delete оператори қўлланилиши натижаси сифатида чақирилади. Функциядан чиқиш вақтида Frisky ўзгарувчиси кўриниш соҳаси чегарасидан чиқади ва унинг учун ҳам деструктор чақирилади.

Download 3.45 Mb.

Do'stlaringiz bilan baham:
1   ...   58   59   60   61   62   63   64   65   ...   79




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