1⃣️靜態區域性變數作用域不變,生命週期延長至程式執行結束
2⃣️靜態全域性變數作用域變小,不能extern引用,生命週期不變
類中的靜態成員:成員函式,成員變數都是使用物件來進行呼叫,
也有些資料成員和成員函式屬於整個類,稱這些成員為類的靜態成員(這些成員不屬於物件,建立物件時不會為靜態成員開闢空間)
靜態成員整個類只有乙份空間(靜態空間)
emploee::pay(50);//靜態成員函式的呼叫=>類名::靜態成員函式名稱
1⃣️類的靜態成員變數初始化在類外 型別名 類名:: 變數初始化 (int student:: allstudent=0;)
2⃣️靜態成員(函式、變數)屬於類,非靜態成員則屬於某乙個物件
3⃣️靜態成員函式的呼叫 emploee::pay(50);//靜態成員函式的呼叫=>類名::靜態成員函式名稱
類占用空間大小計算方式:成員變數的累加(自動補齊),靜態成員變數不計算在內
靜態成員函式不能訪問非靜態成員變數與非靜態成員函式,而普通成員函式技能訪問靜態成員變數,又能訪問到靜態成員函式
友元函式:函式中可以直接訪問其私有成員(friend point middle(point &p1,point &p2);)//不是成員函式,是普通函式
友元類:若l類a是類b的友元類,則a的成員函式均為類b的友元函式(1⃣️單向2⃣️不傳遞)
#include
#include
using namespace std;
class emploee
~emploee()
}void display()
// 類的靜態成員函式
static void pay(int onepay)
static void allperson()
};// 類的靜態成員變數初始化在類外
int emploee:: allnum=0;
int emploee:: totalpays=0;
int main(int argc, const char * argv)
作用域與生命週期
作用域與生命週期是描述了常量,變數,函式的等物件的使用範圍,當程式 中這些物件一旦超過了這個範圍,那麼將出現編譯錯誤。下面我們來研究一下它 區域性作用域描述的是函式體中變數和函式的適用範圍,每乙個函式都有自己的區域性作用域。在函式體中定義的變數,函式對於外部函式是不可見的看,因為他們在函式的區域性作...
作用域與生命週期
在c 語言中名字有作用域,物件 變數 有生命週期。如果不理解這兩個概念那麼我們一般會犯很多低階的錯誤。比如返回區域性物件的引用等。include using namespace std return local array int func1 return a return local object...
作用域 生命週期
作用域 能夠被使用的範圍 生命週期 生命的誕生和死亡 在類裡頭,先使用變數,後期到main裡幫助建立生命 在main裡頭作用域的範圍小於等於生命週期的範圍,在使用作用域之前已經預設存在生命週期了 作用域是不考慮生命週期的,因為作用域的線路比執行時候來的條數廣 作用域是製造多條線路,生命週期是執行一條...