C 關於靜態成員函式和常成員函式

2021-04-19 08:29:19 字數 854 閱讀 1690

1樓:匿名使用者

靜態成員函抄數屬於類 而非靜bai態成員函式屬於物件.

之所以要用du靜態成員函式是因為靜zhi態成員函式可以用類名來引用他dao,而不用建立類的例項,非靜態成員函式沒有例項是不能使用的。這樣就不用用到建構函式和解構函式了,能提高效率。。例如,drawrect成員函式使用了system.

out.println成員函式,但實際上你卻未曾建立一個某個system類的物件,這正是因為 out是system類的一個靜態變數,所以你可以直接使用這個成員函式而無須定義一個system物件。

你所說的常成員函式是不是說加 了const的函式或者是一般的成員函式。如果是前者的話。我解釋下

它加了const是因為可限制修改實參的值。但是你也許會問限制修改實參的值你可以直接給實參加個const就行,是的,實參前面也要加const。函式後面也要加。

因為這樣可以增加**的可讀性。

當然它也不能修改類其他資料成員的值

2樓:匿名使用者

樓上已經說的很好bai了du,我補充一下個人想zhi法。常成員函dao數是不是可以理內解為非晶態成員容函式啊?哈哈,沒聽過這麼個概念。

首先說靜態成員函式,它用來做什麼呢?它處理的是類概念的事務,實現類級別的功能,和具體的類例項無關係。也就是說,如果你把類看作一個群組,類例項看做使用者的話,你呼叫類的靜態成員函式應該去處理群組的資料,這個群組的資料影響著所有使用者,而不是隻影響某個或某些使用者。

相反,非晶態成員函式呢?它代表的是每個個體(使用者)的個體行為(當然行為本身都一樣,只是本身資料或說特性不同),個體行為的影響表現在對個體資料的處理上,而不應影響整體資料,或者說不應直接影響整體資料。也就是說,使用者作為個體在做私事,組織不負責任。哈哈

C 成員函式的使用有哪些限制,C 類成員函式什麼情況下必須定義引數?

必須為其指標所指向的物件分配記憶體才可以進行strcpy操作。如果沒有分配記憶體,則 strcpy pname,p 把p複製到 沒有記憶體存放!這可能會導致未知的情況發生,程式會崩潰.以下是修改後的程式。注 用構造分配記憶體 new 必須要用析構 delete 釋放記憶體,否則會造成記憶體洩露 me...

c中成員函式過載是什麼意思C中成員函式過載是什麼意思?

過載函式 過載,英文為overloading,大概就是很多個的意思。舉個例子,比如,我需要個函式。取2個int的最大值。很容易,函式介面應該是 1 int max int a,int b 那更進一步,我取3個 int 的最大值呢,介面可以定義為 2 int max int a,int b,int c...

C包括類的宣告 成員函式的實現

include include class cscore void cscore input int id,char name,int math,int phi void cscore sum void cscore show void main c 成員函式的實現部分 寫在類外 究竟屬於類的內部還...