變量「a」是Test.cpp 的全局變量,「func」是Test.cpp中的正常函數。 編輯部分: - 但你可以使用相同的變量&方法在不同的地方,如果u做同樣的,如下所示。
//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」可以被存在於測試類所在的同一文件中的其他類訪問。
如果將任何變量或方法聲明爲靜態全局變量,那麼該變量&方法的作用域限於該文件,如上例所述。
你在談論對象的生命週期。每個名稱的詞彙範圍是從宣言的角度直到翻譯單位的結尾。 – 2012-03-06 12:15:44