說我想要一些函數來處理一些文件,並且我正在考慮2個選項。我應該使用一類函數還是函數的名稱空間?
1)創建像SavedDataHandler
一類,用戶可以使用這樣的....
// Note that SavedDataHandler has no members. It just has functions that operate on a
// resource (the file)
SavedDataHandler gameSave;
gameSave.SaveData(arg1, arg2); // to save data
gameSave.DeleteSave(); // Delete the save
...
2)創建的功能
namespace SavedDataHandler {
SaveData(...) { ... }
DeleteSave(...) { ... }
...
}
,用戶會打電話像
命名空間SavedDataHandler::SaveData(arg1, arg 2);
SavedDataHandler::DeleteSave();
什麼是首選?
P.S.當我考慮斯科特邁爾的建議時,我想到了這個問題,即將非會員非朋友功能選爲會員功能。我已經遇到了一些決定,我有一個函數(通常是一些私人成員函數來幫助這個類做東西),因爲它不能在類私有化中操作,所以很容易就可以變成非成員。
但是,該功能僅用於該類。當然,這個程序可能會演變到另一個類可能需要它的地步,但是我發現很難爲這些非成員函數找到一個地方。當你有很多具有通用目的的功能時,很容易,但是我發現單個非成員功能很難組織到一個特定的地方,並且發現將它作爲一個成員保持乾淨。有關這個問題的任何提示?
或多或少採用相同的啓發式方法:) – 2010-01-18 03:33:53
感謝您對ddj上的Scott Meyers文章的鏈接! – Pete 2010-08-20 19:45:37