類的靜態資料成員與靜態成員函式

2021-08-22 04:53:52 字數 758 閱讀 3648

1、有時候類需要它的一些成員與類本身直接相關,而不是與類的各個物件保持聯絡。

2、靜態資料成員、靜態成員函式不與任何物件繫結在一起,靜態成員函式不包含this指標,靜態成員函式不能宣告成const,而且也不能在static函式體內使用this指標。這一限制既適用於this的顯式使用,也對呼叫非靜態成員的隱式使用有效。

3、class account

static double rate(){}

static void rate (double);

private:

std::string owner;

double amount;

static double interestrate;

static double initrate();

使用作用域運算子訪問靜態成員

double r;

r=account::rate();

仍可以使用類的物件、引用和指標來訪問靜態成員:

account ac1;

account *ac2=&ac1;

r=ac1.rate();

r=ac2->rate();

成員函式不通過作用域運算子就可以直接使用靜態成員。

4、可以在內部和外部定義靜態成員函式,static宣告必須在類的內部。

類的靜態資料成員不是由建構函式初始化,必須在類的外部定義和初始化每個靜態成員。

5、靜態成員可以是不完全型別,而非靜態不行

可以使用靜態成員做預設實參,而非靜態不行。

靜態資料成員與靜態成員函式

include include using namespace std class student student static intnumber protected static int noofstudents char name 40 int student noofstudents 0 靜...

靜態資料成員與靜態成員函式

靜態屬性不是類中每個物件擁有的,而是共有的。由於靜態成員逃離了物件而存在的性質,所以該實體應該在所有物件產生之前產生,更適合的時機是在程式啟動的時候做初始化。初始化時候不可重複上static,但是要加上類名空間。該實體在程式中的唯一性,要求他不可以和類的定義放在標頭檔案中,但是它確實是類的成員,所以...

C 類靜態成員與類靜態成員函式

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