auto, extern жəне
register модификаторлары арқылы жазылмайды.
Сипаттау кезінде өрістерді инициалдауға тыйым салынған.
Кластар ауқымды (кез келген блоктан тыс жарияланған) жəне жергілікті
(блок ішінде, мысалы, функцияның немесе басқа кластың ішінде жарияланған)
болуы мүмкін.
Төменде жергілікті (локалды) кластың кейбір ерекшеліктері көрсетілген:
□ жергілікті кластың ішінде өзі сипатталған аймағындағы типтерді,
статикалық (
static ) жəне сыртқы (
extern ) айнымалыларды, сыртқы
функциялар мен тізбелер элементтерін қолдануға болады; осы
аймақтағы автоматты айнымалыларды қолдануға тыйым салынған;
□ жергілікті кластың статикалық элементтері болмайды;
□ осы кластың əдістерін тек кластың ішінде сипаттауға болады;
□ егер бір класс басқа класс ішіне кірістірілсе, олардың бір-бірінің
элементтеріне қол жеткізе алатын ерекше мүмкіндіктері болмайды,
оларға тек ортақ ережелерге сəйкес түрде пайдаланыла алады.
Мысал ретінде компьютерлік ойын кейіпкерін модельдейтін класс
құрайық. Бұл үшін оның қасиеттері (мысалы, қармалауыштар санын,
гранататқыштардың болуын жəне оның күшін) мен тəртіптерін беруіміз керек.
Əрине, мұндай мысал схематикалық түрде болады, өйткені ол тек синтаксисті
көрсету үшін келтірілген.
class monstr{ int health, ammo; public: monstr(int he = 100, int am = 10){ health = he; ammo = am;} void draw(int x, int y, int scale, int position); int get_health() {return health;} int get_ammo() {return ammo;} }; Бұл кластың құрамында екі жасырын өріс бар, олар –
health жəне
ammo, олардың мəндерін сырттан
get_health() жəне
get_ammo() əдістерінің
көмегімен алуға болады. Мұнда өрістерді əдістер арқылы пайдалану қолдан
жасалған күрделілік болып көрінеді, алайда шынайы кластардың өрістері
ретінде күрделі динамикалық құрылымдар алынуы мүмкін жəне олардың
элементтерінің мəндеріне қол жеткізу оңай емес екенін ескеру керек. Соны-
мен қатар, класс интерфейсіне тиместен, осы құрылымдарға өзгерістер енгізу
мүмкіндігі өте маңызды болып табылады.
13-1140
194
Кластың барлық əдістері жасырын өрістерді тікелей пайдалана алады,
басқаша айтқанда, класс функцияларының тұлғалары класс элементтерінің