靜態成員函式與普通成員函式區別

2021-07-02 22:45:27 字數 375 閱讀 5076

靜態函式只有當程式結束的時候才從記憶體消失。而非靜態則是動態載入到記憶體,不需要的時候就從記憶體消失。

eg:呼叫類中的靜態函式,你不需要建立物件就可以呼叫。而對於非靜態的函式,你必須要先建立物件,才能夠由物件呼叫。 class::func() //對於靜態函式不建立物件,可以這樣呼叫,而非靜態必須建立物件。

從物件的角度來說:

靜態函式是公共的.常成員函式不是公共的.

靜太函式好比房子.常成員函式好比你們每個家人的衣服.

從應用方面來說:

靜態成中函式中能用靜態成員,還可以用具體物件的函式.

例如:物件 a;// 物件不一定要靜態的;

成員函式: print()  //也不一定要靜態的;

a.print()

靜態成員函式與非靜態成員函式的區別

先放上幾個小例子 1 static 修飾成員變數 靜態變數,是在編譯階段就分配空間,物件還沒有建立時,就已經分配空間。靜態成員變數必須在類中宣告,在類外定義。靜態資料成員不屬於某個物件,在為物件分配空間中不包括靜態成員所佔空間。class data 定義的時候 不需要加static int data...

靜態成員函式與靜態成員 static

引用 成員函式 無論靜態函式還是非靜態函式,都是屬於類的 這一點與資料成員的靜態非靜態不同 物件並不擁有函式的拷貝.兩者的區別在於 非靜態的函式由類物件 加.或指標加 呼叫,這時將向函式傳遞this指標.而靜態函式由類名 或物件名.呼叫,但靜態函式不傳遞this指標,不識別物件個體,所以通常用來對類...

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

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