说我想要一些函数来处理一些文件,并且我正在考虑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