Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»


public болады). Функцияның аластамалар тізімі



Pdf көрінісі
бет221/466
Дата20.07.2022
өлшемі3,66 Mb.
#37798
түріПрограмма
1   ...   217   218   219   220   221   222   223   224   ...   466
public
болады).
Функцияның аластамалар тізімі
Функцияның тақырыбында ол тікелей немесе жанама түрде туындатуы 
мүмкін аластамалар тізімін беруге болады. Тақырып бөлігі функцияның 
интерфейсі болғандықтан, мұнда аластамалар тізімін беру арқылы 
қолданушылар функцияны пайдалану туралы ақпарат алады жəне де 
көзделмеген аластама пайда болса, бұл жағдай анықталатыны туралы кепілдік 
беріледі. 
Аластаманы өңдеу алгоритмі 7.1-суретте көрсетілген.
Аластамалардың типтері функцияның параметрлер тізімінен кейін 
орналасқан 
throw
түйінді сөзінің соңынан жақша ішінде үтір арқылы бөліне 
отырып, тізбектеле жазылады, мысалы: 
void f1()
 
throw
 
(int,const
 
char*){/*
 
Функция тұлғасы */ }
void f2() throw (Oops*){ /* Функция тұлғасы */ }
Мысалдағы
 f1 
функциясы тек 
int 
жəне 
const char*
типтерінің алас-
тамаларын туындатуы керек.
Келесі 
f2
функциясы тек 
Oops
класына немесе одан туынды кластарға 
нұсқауыш типінің ерекше жағдайларын генерациялауы тиіс.
Егер 
throw
түйінді сөзі көрсетілмесе, функция кез келген аластаманы 
генерациялауы мүмкін. Бос тізім функция аластамаларды тудырмайтынын 
білдіреді:


246
void f() throw (){
// аластамаларды тудырмайтын функцияның тұлғасы
}
Аластамалар функцияның прототипіне енгізілмейді. Туынды класта вир-
туалды функцияны қайта анықтау кезінде базалық кластың соған сəйкес 
функциясындағы сияқты немесе оған қарағанда шектелген аластамалар тізімін 
беруге болады. 
Аластамалар тізімін көрсетудің ешбір салдары жоқ – функция қолданбауға 
уəде берген аластаманы тікелей немесе жанамалы түрде туындатуы мүмкін. 
Мұндай жағдай программаны орындау кезінде көрінеді де, 


Достарыңызбен бөлісу:
1   ...   217   218   219   220   221   222   223   224   ...   466




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет