...
};
...
A::int count; // ауқымды аймақта анықтау
void f(){
A a;
// a.count++ түрінде жазуға болмайды, count өрісі
// жасырын
// Өрісті статикалық əдіс көмегімен өзгерту:
a.inc_count(); // немесе A::inc_count();
}
Статикалық əдістер тұрақтылық
(
const
) немесе виртуалды
(virtual
)
бола алмайды.
Достас функциялар жəне кластар
Кейде кластың жасырын өрістеріне тікелей қол жеткізу мүмкіндігі болғаны,
яғни класс интерфейсін кеңейткен жөн. Бұл үшін достас функциялар жəне
достас кластар қызмет етеді.
Достас функциялар
Достас функциялар кластың жасырын өрістеріне қол жеткізу үшін
қолданылады жəне олар əдістердің балама түрі (альтернативасы) болып сана-
лады. Əдіс, көбінесе объектінің қасиеттерін жүзеге асыру үшін қолданылады,
ал достас функциялар түрінде класс қасиеттерін көрсетпейтін, бірақ оның
интерфейсіне концептуалды түрде енетін жəне оның жасырын өрістеріне қол
жеткізуді қажет ететін əрекеттер қалыптастырылады, мысалы объектілерді
экранға шығарудың қайта анықталған операциялары (304 б. қараңыз).
Төменде достас функцияларды сипаттау ережелері мен олардың
ерекшеліктері көрсетілген.
□ Достас функция объектілеріне қол жеткізу қажет болатын класс ішінде
Достарыңызбен бөлісу: |