靜態成員和靜態成員函式

2021-08-04 22:46:28 字數 785 閱讀 2990

靜態成員函式的特點:

1.static資料成員在類內的內部宣告,但只能在類的外部定義,在類的外部不能指定static,在類的定義時候驚醒初始化;

2.static資料成員只能在課的外部進行初始化(特例:當整形const static資料成員被常量表示式初始化,就可以在類內進行初始化,但還需要在外部進行定義)。

3.static資料成員可以是該成員所屬的類型別,而非static資料成員只能自身類的引用或者指標。

4.static成員可以用作類成員的預設實參。

5.static資料成員的值可以改變

靜態成員和非靜態成員的區別:

1靜態變數使用static修飾符進行宣告,在類被例項化時建立,通過類和物件都可以進行訪問;

2.不帯有static修飾符宣告的變數稱做非靜態變數,在物件被例項化時建立,通過物件訪間;

3.乙個類的所有例項的同一靜態變數都是同乙個値,同乙個類的不同例項的同一非靜態變數可以是不同的値。

4。靜態函式的實現裡不能使用非靜態成員,如非靜態變數、非靜態函式等。

三、靜態成員函式的特點:

1.static成員函式沒有this形參,它可以訪間所屬類的static成員,但不能訪問非static成員。

2.static成員函式既可以在類的內部定義,也可以在類的外部定義,在外部定義時,不能重複指定static保留字。

3.static成員函式不能宣告為虛函式,不能實現動態繫結

4.static成員函式不能宣告為const,因為const是針對this是不是const而言的

5.建構函式,析構函式不能為靜態函式。

靜態成員和靜態成員函式

靜態成員和靜態成員函式 普通成員變數每個物件有各自的乙份,而靜態成員變數一共就乙份,為所有物件共享。靜態成員物件不需要通過物件就能訪問 class crectangle crectangle crectangle int i,int j crectangle crectangle int crect...

靜態成員變數 和 靜態成員函式

資料成員可以分靜態變數 非靜態變數兩種.靜態成員 靜態類中的成員加入static修飾符,即是靜態成員.可以直接使用類名 靜態成員名訪問此靜態成員,因為靜態成員存在於記憶體,非靜態成員需要例項化才會分配記憶體,所以靜態成員不能訪問非靜態的成員.因為靜態成員存在於記憶體,所以非靜態成員可以直接訪問類中靜...

靜態成員變數和靜態成員函式

我們學到的類物件的成員變數一般都是這個物件專屬,不能為其他物件所共有。然而在實際程式設計中我們需要統計物件的數量等問題,所以就必須設定乙個類的物件所共有的變數,就是靜態成員變數。首先通過乙個簡單的例程 說明靜態成員如何使用。includeusing namespace std class a vir...