Переменная «a» является глобальной переменной для Test.cpp, а «func» является нормальной функцией в Test.cpp. Редактировать раздел: - Но вы можете использовать одну и ту же переменную и метод в другом месте, если вы делаете то же, что указано ниже.
//file1.h
#ifndef FILE1_H
#define FILE1_H
extern int a;
extern void func();
#endif
//end of file1.h
//file1.cpp
#include"file1.h"
int a; // a=0 as it is global variable
static int x = 10;// Scope is limited, it can only be used in file1.cpp
static void func2(){
int z = x;
z = x+z;
//... some thing u r doing
}
void func(){
//... some thing u r doing
}
//end of file1.cpp
//file2.cpp
#include"file1.h"
//U can use variable "a" & method "func" defined in file1.cpp . For an eg:-
int add(int b){
func();//func defined in file1.cpp but used here
//func2(); //It will throw error if you remove the comment before func2 method as
//the scope of func2 is limited to file1.cpp as it is static method
return a+b;// a defined in file1.cpp but used here
}
int main(){
//some code exists here
return 0;
}
//end of file2.cpp
//================
Есть многовещи, с помощью которых вы можете поиграть.Это только один из примеров.Например, если вы объявляете статическую глобальную переменную, область действия этой переменной ограничивается только этим файлом.
Переменная «a» & «func» доступна для других классов, присутствующих в том же файле, где присутствует тестовый класс.
Если вы объявите какую-либо переменную или метод в качестве статической глобальной переменной, тогда область действия этой переменной и метода будет ограничена этим файлом, как описано в примере выше.