類的靜態成員

2021-08-21 12:21:16 字數 852 閱讀 7829

靜態資料成員在記憶體中只佔乙份空間。

每個物件都可以引用這個靜態資料成員。

靜態資料成員的值對所有物件都是一樣的。

如果改變它的值,則在各物件中這個資料成員的值都同時改變了。//靜態資料成員儲存在全域性資料區

在為物件所分配的空間中不包括靜態資料成員所佔的空間。

靜態資料成員不隨物件的建立而分配空間。(也就是就算沒有建立物件,這個靜態資料成員也存在)

靜態資料成員只能在類體外進行初始化:

資料型別  類名::靜態資料成員名=初值;// int a::a=3;

不能用引數初始化表對靜態資料成員進行初始化。(如果未賦值,自動賦0值)

靜態資料成員既可以通過物件名引用,也可以通過類名引用。

#include using namespace std;

class teacher

private:

static int b;

};int teacher::b = 3;

int main()

#include using namespace std;

class point

public:

int x;

int y;

static int z;

};int point::z = 3;

int main()

通過第一種方式訪問z,實際上在c++內部都會被轉換成第二種形式。

靜態成員函式的作用是為了能處理靜態資料成員,當呼叫乙個的成員函式,會把物件的位址賦給成員函式的this指標。靜態成員函式不屬於物件,所以它沒有this指標。因此也決定了靜態成員函式無法訪問非靜態成員。

類靜態成員和類靜態成員函式

當將類的某個資料成員宣告為static時,該靜態資料成員只能被定義一次,而且要被同類的所有物件共享。各個物件都擁有類中每乙個普通資料成員的副本,但靜態資料成員只有乙個例項存在,與定義了多少類物件無關。靜態方法就是與該類相關的,是類的一種行為,而不是與該類的例項物件相關。靜態資料成員的用途之一是統計有...

類的靜態成員

類的靜態成員存在於任何物件之外,物件中不包含任何與靜態資料成員有關的資料。class account 對於account的每乙個物件豆漿包含owner和amount兩個資料成員,而對於靜態成員interestrate只有乙個,且被所有的物件共享。double r r account rate 2.使...

類的靜態成員

1,static靜態成員,靜態成員 變數 or 函式 可以是public or private,訪問許可權與普通 非static 成員一樣,受到限定符限制 2,靜態成員 變數 or 函式 不與任何物件繫結在一起,而是被所有物件共享 特別是靜態成員函式,它不包含this 指標引數 3.public靜態...