看板 GameDesign 關於我們 聯絡資訊
現在都有了C++,或許這個主題有點過時 我的學校規定這學期的遊戲project只能用C寫 (這個限制只有第二學期有,其他學期皆無此限制) 寫習慣了AS3,突然有此限制實在是有點懊惱 我的教授提到了一本叫做Object-Oriented Programming with ANSI C的書 (於1993年出版,都快20年了XD) 於是我開始讀這本書 經過不斷的實驗與改進,我總算歸納出一個簡單但是有系統又效的方法 在此分享給大家 http://blog.cjcat.net/2012/01/object-oriented-structures-in-c/ -- Blog http://blog.cjcat.net Gallery http://cjcat2266.deviantart.com ptt2 Board CJWorkshop -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 67.168.100.71
NDark:不一定要寫物件導向. 01/27 17:38
NDark:我意思是 物件導向可以協助架構抽象化,但不是重點. 01/27 17:40
NDark:用C寫物件導向.已經不是一個問題.而只是一個練習題. 01/27 17:41
osanaosana:可以問一下這樣做有什麼好處嘛? 01/27 19:13
NDark:很多平台使用的語言是沒有物件導向特性的. 01/27 19:39
VVll:學生要先思考 為什麼要用OO 什麼情況下需要用OO 01/27 20:11
cjcat2266:因為我很習慣AS3,所以傾向於用OO的方式建構framework 01/28 01:04
cjcat2266:我的隊友也很習慣OO,同意用這種方式建構引擎會讓他們 01/28 01:05
cjcat2266:比較好擴充,當然driver本身還是非OO 01/28 01:05
cjcat2266:所以我想我們用OO的理由,簡單來說就是方便擴充 01/28 01:06
rofellosx:我覺得要先思考為什麼要用C作OO 01/28 02:28
rofellosx:20年前的書除了理論相關的書早就過時了 01/28 02:29
justben:為啥在C裡面可以用"->" 啊 我怎麼從來都不知道 囧 01/28 04:20
cjcat2266:@rofel 因為我們把project分兩個部分,framework + 擴充 01/28 05:11
cjcat2266:擴充才是遊戲內容本體,我們比較習慣以OO方式擴充 01/28 05:11
FSVDFS:感謝。 01/28 06:08
FSVDFS:http://ccckmit.wikidot.com/cp:cobject (類似教學 01/28 06:09
FSVDFS:之前海洋大學也有一個,資料更豐富,但是網站掛了= =" 01/28 06:09
VVll:@justben 存取元件屬性是用" . " 而元件是指標則用" -> " 01/28 18:26
justben:這不是C++的東西嗎? 囧 在linux下用gcc 編譯應該不會過吧 01/30 04:23
justben:阿 我記錯了 的確是有這東西的 01/30 04:31
justben:其實只用C寫是有他的好處的,我之前寫過一個程式 01/30 10:26
justben:是用server-client架構去模擬檔案系統的作業 那時候我剛學 01/30 10:27
justben:C,寫到蛋蛋都快爆掉了。就用最土法煉鋼的方式寫 連struct 01/30 10:28
justben:都沒用。因為之前學C++所以有些語法混合在一起用 01/30 10:29
justben:有時候發生莫名其妙的錯誤。 後來我同學告訴我最好只用C 01/30 10:29
justben:用C去模擬OO,可能就是訓練如何避掉 compiler的bug吧 ? @@ 01/30 10:32
littleshan:你應該把C++學好,而不是因為這樣就只用C 01/30 10:33
justben:沒錯,那時候我的高手同學還用C++實做出inode完成作業 01/30 10:59
eye5002003:不久前我還在結構內放函式指標,看起來很像成員函式 02/20 23:14
eye5002003:想想還真是無聊啊 02/20 23:14