1樓:殳姍姍仙季
區別很大:1.成員函式是物件導向的概念,所謂的成員函式,是指乙個函式作為類的成員,公有成員、私有成員或者保護成員。
2.普通函式一般有兩種傳遞方式,按型別傳遞和按值傳遞,也就是傳指標和傳返回值兩種情況。成員函式一般是按型別傳遞,也即是傳指標位址。
3.普通函式可以隨便呼叫,並且無法繼承和封裝,成員函式根據類的不同,可以進行繼承,根據公有私有的不同,呼叫方式也不同。
4.深層次的區別,普通函式作為c語言的概念,用的是stdlib,成員函式是用iostream,編譯方法不同,至於誰佔記憶體多,並不好說,也不是說物件導向的就佔記憶體大些,還是看具體的環境和編譯器。
5.嵌入式的程式設計,用普通函式較多,成員函式較少,當然arm嵌入linux那種例外。
大體上能一下子想到的只有這麼多了。
函式是否分配記憶體,看變數,這個問題,我得詳細解釋一下,你是否熟悉彙編?知道不知道函式欄位這個概念,也就說,所有函式都是分配在一段共享欄位裡面的,也就是你所說的記憶體,其實不僅僅是記憶體,包括快閃記憶體等等都可以包含,所以是佔用了一段空間的,只是這段空間不一定在記憶體內,可能在快閃記憶體內,也可能在硬碟內,這麼說,你清楚嗎?
2樓:網友
函式成員的解釋是msdn上找的:
函式成員是包含可執行語句的成員。函式成員總是型別的成員,不能是名稱空間的成員。
就是函式中的語句的具體成員吧,比如e[x, y] =value等等。
成員函式是類中的函式。
比如。class a
int m;
void setm(int x)
m = x;
void setm(int x)本身就是a的成員函式而m=x是函式void setm(int x)的函式成員。
物件和成員函式
3樓:
類是c++的一種資料型別,是乙個屬性(資料)集及其操作(行為)的封裝體;物件是類的乙個具體的例項,具有該類的屬性;這兩者就是共性和個性的關係。
類定義的時候一般都包括宣告資料成員和成員函式,成員函式規定了類的行為屬性,當然建構函式也是乙個成員函式。
對於前兩個補充問題,可以這麼理解。最後乙個,這個物件已經不完全屬於這個類了,它有自己獨有的資料和行為,那麼它是屬於這個類的乙個派生類的物件,也就是擁有了基類的一種派生類的所有屬性。歸根結底,還是一句話,一種物件是對應類的乙個例項。
常成員函式的定義
4樓:天堂鳥
常成員函式含義是通過該函式只能讀取同一類中的資料成員的值,而不能修改它。
如某書:1.常成員函式不能更新物件的資料成員。
2.當乙個物件被宣告為常物件,則不能通過該物件呼叫該類中的非const成員函式。
成員函式的介紹
5樓:匿名使用者
cdc物件的成員函式進行所有的繪圖。 它還為獲取和設定繪圖屬性、對映,處理視點、視窗擴充套件、轉換座標,處理區域、剪貼、繪製直線及繪製簡單橢圓和多邊形等形狀提供了成員函式。 另外還為繪製文字、處理字型,使用印表機跳轉,滾動和**元檔案提供成員函式。
類的成員函式的定義
6樓:山如不為勒石高
類的成員函式的原型要寫在類體中,原型說明了函式的參數列和返回值型別。而函式的定義一般在類外面,也可以直接在類內部定義。前者與普通函式不同的是,實現成員函式時要指明類的名稱,具體形式為:
返回值型別 類名 ::函式成員名(參數列);
而後者一般為一些短小的函式(5行以內),也就是行內函數。
c類成員函式哪些有特殊用途,C 類成員函式哪些有特殊用途?
類成員函式的特殊作用?嗯,我就理解為特殊的類成員函式吧,因為類成員函式還能幹嘛,呼叫啊。classname,解構函式,當一個物件被銷燬時將呼叫。classname,建構函式,並不只是在new時呼叫,是在建立一個新物件的時候呼叫 友元函式,雖然不是類內部的函式,但仍然可以使用類的private和pro...
C中,派生類的成員函式呼叫基類的受保護成員
不是很來清楚你的意圖 自 但是在c 中派生類的成員函式bai 是可以直接呼叫基類du的zhi受dao保護成員的。set staff modification 傳一個基類的引用,就可以在set中直接修改資料,而不是修改拷貝了。但是在基類中,你得把部門,名字,考勤情況等設定為protected.發上來看...
關於C 巢狀類成員函式的實現的問題
如下 template class a template typename a b a b test void 這裡加上typename,表明a b是一個類版才可以。權 class a void a b print c 包括類的宣告 成員函式的實現 include include class csc...