作者maboroshiga (幻)
站內C_and_CPP
標題[問題] 同class可以寫在不同的header跟source嗎
時間Tue Oct 27 19:30:37 2009
我原有一個資料庫的處理程式碼 比如說 Db.h 跟 Db.cpp
裡面(只)有一個class 比如說叫 CDb 好了
這個class內有資料庫的建立/開啟/刪除
以及5個資料表的新增/刪除/修改
如果我覺得這個class太長 想依照資料表分成不同檔案 請問可行嗎?
.cpp 應該是ok的 直接在 Db.cpp include就好 反正都是 CDb::FunctionName()
那header的部分要怎麼辦? 都寫 class CDb(){ .. } 一定不行
有什麼建議的方法嗎? 感謝~~!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.204.65.157
1F:推 hilorrk:分成不同class 用繼承? 10/27 20:17
2F:→ maboroshiga:嗯有想過class CDb繼承5個table的class 10/27 20:33
3F:→ maboroshiga:只是不知道這樣會不會影響效能 10/27 20:33
4F:推 layan:應該不會, 除非你有 virtual function, 不然不會 10/27 22:13
5F:→ VictorTom:其實我覺得, .cpp可以分開實作, 但.h的宣告仍然通通包在 10/27 22:14
6F:→ VictorTom:一起就可以了吧?_? 10/27 22:14
7F:推 layan:話說 你可以在 class XXX { } <= 裡面 include "xxx.inl" 10/27 22:29
8F:→ layan:也就是說你可以把五個表的函式寫在 5 個 xxx.inl files 裡 10/27 22:29
9F:→ layan:然後在你的 class CDb { } <= 裡面寫 #include 它們就行了 10/27 22:30
10F:→ layan:不過這樣很鳥 XDXD 看的人也痛苦 10/27 22:30
11F:→ layan:不見得要.inl,附檔名.h也行,只是以前看到的做法是用.inl 10/27 22:31