class A{ public: static int count; // Класс құрамында жариялау }; ... int A::count; // Ауқымды аймақта анықтау // Келісім бойынша нөлмен инициалданады /* int A::count = 10; Кездейсоқ мəнмен инициалдану мысалы */ □ Статикалық өрістеріне класс атауы арқылы да, объект атауы арқылы да
қол жеткізуге болады:
А *а, b; ... cout << A::count << a->count << b.count; // бірдей нəтиже шығарылады □ Статикалық өрістерге қол жеткізу спецификаторларының əрекеті таралады, сондықтан private түрінде сипатталған статикалық өрістерді жоғарыда көрсетілген əрекет ету аймағына қол жеткізу операциясының
көмегімен өзгертуге болмайды. Мұны тек қана статикалық əдістердің көмегімен
орындауға болады (ары қарай қараңыз).
□ Статикалық өріс пайдаланатын жады объект көлемін sizeof опера- циясы көмегімен анықтау кезінде ескерілмейді. Статикалық əдістер Статикалық əдістер кластың статикалық өрістерін пайдалану үшін қажет.
Олар тек тікелей статикалық өрістерді пайдалана алады жəне кластың тек
басқа статикалық əдістерін шақыра алады, өйткені оларға жасырын
this нұсқауышы берілмейді. Статикалық əдістерді пайдалану дəл статикалық
өрістерді пайдалану сияқты – класс атауы арқылы немесе кластың кем дегенде
бір объектісі құрылған жағдайда объект атауы арқылы орындалады.
202
class A{ static int count; // count өрісі жасырын public: static void inc_count() { count++; } ... }; ... A::int count; // ауқымды аймақта анықтау