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



Pdf көрінісі
бет177/465
Дата09.01.2023
өлшемі3,66 Mb.
#60709
түріПрограмма
1   ...   173   174   175   176   177   178   179   180   ...   465
Байланысты:
аибм сплюс

void f(){
A a;
// a.count++ түрінде жазуға болмайды, count өрісі 
// жасырын
// Өрісті статикалық əдіс көмегімен өзгерту:
a.inc_count(); // немесе A::inc_count(); 
}
Статикалық əдістер тұрақтылық
(
const
) немесе виртуалды 
(virtual

бола алмайды. 
Достас функциялар жəне кластар
Кейде кластың жасырын өрістеріне тікелей қол жеткізу мүмкіндігі болғаны, 
яғни класс интерфейсін кеңейткен жөн. Бұл үшін достас функциялар жəне 
достас кластар қызмет етеді.
Достас функциялар
Достас функциялар кластың жасырын өрістеріне қол жеткізу үшін 
қолданылады жəне олар əдістердің балама түрі (альтернативасы) болып сана-
лады. Əдіс, көбінесе объектінің қасиеттерін жүзеге асыру үшін қолданылады, 
ал достас функциялар түрінде класс қасиеттерін көрсетпейтін, бірақ оның 
интерфейсіне концептуалды түрде енетін жəне оның жасырын өрістеріне қол 
жеткізуді қажет ететін əрекеттер қалыптастырылады, мысалы объектілерді 
экранға шығарудың қайта анықталған операциялары (304 б. қараңыз).
Төменде достас функцияларды сипаттау ережелері мен олардың 
ерекшеліктері көрсетілген.
□ Достас функция объектілеріне қол жеткізу қажет болатын класс ішінде
 
friend
түйінді сөзі арқылы жарияланады. Параметр ретінде оған объ-
ект немесе класс объектісіне сілтеме берілуі керек, өйткені оған 
this
нұсқауышы берілмейді. 
□ Достас функция əдеттегі функция немесе бұрынырақ анықталған 
басқа кластың əдісі болуы мүмкін. Оған қол жеткізу спецификаторла-


203
ры əсер етпейді, оның кластағы жариялану орны да маңызды болып 
саналмайды.
□ Бір функция бірден бірнеше кластарға достас болуы мүмкін.
Мысал ретінде төменде


Достарыңызбен бөлісу:
1   ...   173   174   175   176   177   178   179   180   ...   465




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

    Басты бет