該文**自感謝博主。
在c++中,靜態成員是屬於整個類的而不是某個物件,靜態資料成員實際上是類域中的全域性變數。所以在所有物件中都可以共享它。使用靜態成員變數實現多個物件之間的資料共享不會破壞隱藏的原則,保證了安全性還可以節省記憶體。
靜態成員的定義或宣告要加個關鍵字static。靜態成員可以使用作用域運算子來使用即《類名》::《靜態成員名》。
通過幾個例子來總結靜態成員變數和靜態成員函式使用規則。
第乙個例子,通過類名呼叫靜態成員函式和非靜態成員函式
class point
static void output()
};void main()
static void output()
private:
int m_x;
};void main()
static void output()
};void main()
~point()
static void output()
private:
static int m_npointcount;
};void main()
; student::student(char *pszname)
m_head = this; //更新頭部結點
} student::~student ()//析構過程就是節點的脫離過程
else
} void student::printfallstudents()
student* student::m_head = null; //靜態成員變數使用之前初始化
void main()
程式將輸出:
morewindows
dddccc
bbbaaa
C 學習筆記之靜態成員
靜態成員就是在成員變數和成員函式前加上關鍵字static,稱為靜態成員。靜態成員分為 class person int person m a 10 int person m b 10 void test01 intmain class person static int m a 靜態成員變數 int...
C 之全域性物件,區域性物件,靜態區域性物件
先說兩個概念 作用域 scope 和生命週期 lifetime 作用域 名字的作用域指的是知道該名字的程式文字區域 生命週期 物件的生命週期指在程式執行過程中物件存在的時間 全域性物件,顧名思義是全域性的物件,其作用域是整個程式文字,其物件的宣告週期是整個程式的執行過程 區域性物件 一般說的區域性變...
深度探索c 物件模型學習筆記之物件
在c 中,有兩種資料成員 靜態的和非靜態的,以及三種類成員函式 靜態的 非靜態的和虛函式。已知如下class point宣告 class point 考慮乙個問題,class point在機器中是怎麼表現的呢?簡單物件模型 簡單物件模型,是為了降低c 編譯器的設計複雜度,賠上了空間和執行器的效率而開...