struct裡使用函式 |
答題得分者是:暗黑破壞神
|
Smallcat7315
一般會員 發表:19 回覆:22 積分:7 註冊:2005-05-02 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
ldd
一般會員 發表:12 回覆:62 積分:19 註冊:2004-07-06 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
其實,OO只是”強制”改善你的寫作習慣而已。
因為 C 裏面的 function 宣告有一個叫做 static 的修飾辭,它是用來說這個函數只在這個 .c 的檔案中有效。 這個就有 C 的私有函數的意思在了。 而以 C 看它編成 .asm 時的命名原則。其實。我們自己在寫 C 程式時,如果也在函數前冠上”夫姓”。(也就是這個 C 的檔名之類) 那也有 C 的效果。 只是要人去這麼做比較累。所以用一些語法來強制程式設計師遵守。 可是用 C 的 Class 時,會造成的是每個 function call 都會多一兩層的 call。(這個部份要去看ASM部份才會發現) 它的效率會比用C來得差一點。只是現在電腦都很快,就不介意那一兩層的 call 了。^^ ===================引 用 文 章=================== 以前上 OOP 的課時,老師出過作業,要我們用 C 的 struct 去模擬 C 的一個 class 在 C 的 struct 中不能存 function 不過,可以存 function pointer。當時的作業就是這樣交差的 C 的 Class Instance 在記憶體中也是類似 struct 的放置方法,所以,有些人使用 pointer/offset 的方法,去叫用 private function。 |
隆妹
一般會員 發表:6 回覆:12 積分:8 註冊:2003-10-02 發送簡訊給我 |
C++ 的 struct 也有繼承機制並且支援 template
但是最大的差別還是再於第一點所述 ===================引 用 ldd 文 章=================== C 中的Class 與 Struct 的差別? 1.C 的Class 預設的存取為private 而 struct為 public<--書上只有寫這個~第二點是我認為的~如有錯誤還請高手指點! 2.struct 沒有繼承的機制 C的struct中不可以有 member function. |
ldd
一般會員 發表:12 回覆:62 積分:19 註冊:2004-07-06 發送簡訊給我 |
真是汗顏~剛剛查了一下真的有繼承的機制~~看樣子書還是看的不夠多~
感謝隆妹的指正~ : ) ===================引 用 隆妹 文 章=================== C 的 struct 也有繼承機制並且支援 template 但是最大的差別還是再於第一點所述 ===================引 用 ldd 文 章=================== C 中的Class 與 Struct 的差別? 1.C 的Class 預設的存取為private 而 struct為 public<--書上只有寫這個~第二點是我認為的~如有錯誤還請高手指點! 2.struct 沒有繼承的機制 C的struct中不可以有 member function. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |