105
Айнымалыны немесе тұрақтыны
бірнеше модульде қолданып, қолжетерлік
ету үшін келесі əрекеттерді орындау қажет:
□ оны тек бір модульде ғана ауқымды (глобалды) объект ретінде анықтау;
□ басқа
модульдерде
оны
extern
модификаторының
көмегімен сыртқы
объект ретінде жариялау.
Осы мақсатқа жетудің басқа жолы – бұл жарияланымды тақырыптық
файлға орналастырып, оны қажетті модульдерге қосу
1
.
Бір айнымалының барлық сипаттамалары бір-бірімен үйлесімді болуы
керек.
Екі ауқымды (глобалды)
айнымалыны
оnе.срр
жəне
two.cpp
файлда-
рында
my_header.h
тақырыптық файлының көмегімен сипаттау мысалы:
// my_header.h – сыртқы жарияланымдар
extern int a;
extern double b;
...
// -----------------------------------
// one.срр
int a;
...
// -----------------------------------
// two.cpp
#include "my_header.h"
double b;
...
Екі айнымалыны да
one.срр
жəне
two.срр
файлдарында
қолдануға
болады.
Егер айнымалы
static
ретінде сипатталса, оның əрекет ету аймағы өзі
анықталған файлмен шектеледі.
Типті сипаттау кезінде
бір анықтама ережесін ұстанған жөн, яғни
программада қолданылатын тип дəл бір рет анықталуы керек. Көбінесе бұл
тақырыптық
файлда орындалады, содан кейін файл осы типті қолданатын
модульдерге қосылады. Бұл ереженің сақталмауы оңайлықпен табыла
қоймайтын қателіктердің пайда болуына алып келеді,
себебі компиля-
торлар бір типтің əртүрлі файлдардағы анықталуын бір-бірінен ажырата
алмайды.
1
Жариялау кезінде, анықтаумен салыстырғанда, айнымалы құрылмайтынын еске алайық.
Достарыңызбен бөлісу: