Объектга йўналтирилган программалаш


Download 0.58 Mb.
bet61/71
Sana08.05.2023
Hajmi0.58 Mb.
#1444224
TuriПрограмма
1   ...   57   58   59   60   61   62   63   64   ...   71
Bog'liq
С ОЙП

#include
class Tayanch
{
public:
Tayanch(){};
// Соф виртуал деструктор
virtual ~Tayanch()=0;
};
// Деструкторни аниқлаш
Tayanch::~Tayanch(){}
class Hosila: public Tayanch
{
public:
Hosila(){};
~Hosila(){};
};
void main()
{
Hosila * pHosila = new Hosila;
delete pHosila;
}
Маълумки, деструктор виртуал бўлганда, олдин ҳосилавий синф деструктори, кейин таянч синф деструктори бажарилади. Соф виртуал деструкторининг айнан таянч синфда аниқланиши, унинг қандайдир амалга оширилган вариантини яратадики, у деструкторлар кетма-кетлигини тўғри бажарилишини таъминлайди.
Хулоса сифатида абстракт синфларга қўлланиладиган қоидаларни келтирамиз:

  • абстракт синфни функцияга узатиладиган аргументнинг тури сифатида ишлатиб бўлмайди;

  • абстракт синфни функция қайтарадиган қийматнинг тури сифатида ишлатиб бўлмайди;

  • объект турини ошкор равишда абстракт синф турига келтириш мумкин эмас;

  • абстракт синф объектини яратиб бўлмайди;

  • абстракт синфга кўрсаткич ёки мурожаатни эълон қилиш мумкин.



17-боб. Истисно ҳолатлар ва бажарилиш вақти тури ҳақидаги маълумотлар


Истисно ҳолатларни қайта ишлаш
Истисно – бу кутилмаган ёки программанинг нормал бажарили-шини узадиган ҳолатдир. С++ тилида истисно ҳолатни қайта ишлашнинг якуний модел деб номланувчи варианти амалга оширилган: истисно ҳолат рўй бериб у қайта ишлангандан кейин бошқарув истисно рўй берган кодга қайтиб келмайди, яъни программани айнан узилиш рўй берган жойдан давом этиши таъминланмайди. Иккинчи томондан, С++ тилида аппарат қурилмалардан келадиган истистнолар (узилишлар) қайта ишланмайди, фақат қандайдир функция томонидан юзага келтирилган истиснолар қайта ишланади. Истисноларни бошқариш учун С++ тилида учта калит сўз ишлатилади: try, catch ва throw.
Истисно ҳолатни юзага келтириши мумкин бўлган код блоки try калит сўзи билан белгиланади. Бу блок фигурали қавсга олинади ва ҳимояланган ёки try-блок дейилади:
try

Download 0.58 Mb.

Do'stlaringiz bilan baham:
1   ...   57   58   59   60   61   62   63   64   ...   71




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