類的靜態成員函式

2021-06-21 12:11:54 字數 461 閱讀 5659

在一次**移動和重組編輯中,發現有一些函式是幾個類共用的一些演算法實現函式,使用了類的靜態成員函式。

新增乙個類utility, 如下所示:

class utility };

在使用該靜態成員函式時:

if( utility::incircle() )

直接使用類名作為限定符來呼叫靜態成員函式即可,不需要宣告該類的物件。

也可以宣告類的物件,像普通的類的成員函式一樣使用,如下所示:

utility m;

if( m.incircle() )

簡單總結了一下類的靜態成員函式的一些特點:

1. 在不存在類的物件時,它們仍然存在,而且可以呼叫;

2. 不能訪問呼叫它的物件, 沒有this指標; 故不能使用const 關鍵字,靜態成員函式不能宣告為const, 也無法訪問屬於類物件的非靜態資料成員和非靜態成員函式。

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

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

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

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

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

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