C C 中類常成員方法和類靜態方法

2021-07-23 07:26:48 字數 720 閱讀 1180

例如:

class ctest

private:

int pri;

};

使用:

表明該方法不能對類中資料成員進行修改;

用處:

如例子中給出,一般只用來return乙個類中私有變數,為了其他類中例項化該類物件,從而呼叫常方法來間接訪問私有變數。因為其他類中不能訪問該類私有變數。

注意:

const需要放在函式名後面,不可以放在函式定義開頭,這樣表明返回型別是常變數。

常類方法不能修改物件的資料成員,也不能呼叫類中其他沒有const修飾的成員方法。

如果將乙個物件說明為常物件,該物件也只能呼叫它的常類方法。

定義:

static 返回型別 方法名(引數列表)

如: static int getname(int number); 

注意:

類靜態方法不屬於任何乙個例項化物件,僅屬於該類。所以類中不能出現this關鍵字,沒有多型性質。

靜態類方法只能訪問類中靜態成員,不能直接訪問非靜態成員變數和成員方法。

靜態類方法呼叫有兩種方式:

類名::靜態方法名

例項化物件.靜態方法名

所以實際呼叫時候無需例項化物件,直接通過類名就可以呼叫。

個人學習記錄,由於能力和時間有限,如果有錯誤望讀者糾正,謝謝!

靜態方法和類成員方法

靜態方法和類成員方法分別在建立時分別被裝入staticmethod型別和classmethod型別 的物件中。靜態方法的定義沒有self引數,且能夠被類本身直接呼叫。類方法的定義時需要名為cls的類似於self的引數,類成員方法可以直接用類的具體物件 呼叫。但cls引數是自動被繫結到類的。metac...

靜態成員 靜態方法 靜態類

1.靜態成員屬於類所有,非靜態成員屬於類的例項所有,即使用靜態成員不需要例項化 using system using system.collections.generic using system.linq using system.text namespace mystatic public cl...

抽象方法抽象類 靜態類靜態方法靜態成員

一 抽象類和抽象方法 用abstract修飾的方法稱為抽象方法 含有抽象方法的類必須定義為抽象類 只是當做派生類的基類來使用 抽象的特徵 抽象方法只做宣告,不能包含具體實現 抽象方法旨在被繼承之後使用,所以不能用 private來修飾 2,抽象類不能被直接例項化 不能用new建立 3,抽象類可以沒有...