使用non-member, non-friend函數(shù)的替換member函數(shù)啤月,封裝性更好煮仇,因?yàn)樾略龅膍ember方法可以訪問內(nèi)部private成員,對(duì)封裝有破壞谎仲,而non-member, non-friend函數(shù)則不會(huì)浙垫,non-member, non-friend函數(shù)這種函數(shù)也可以稱為便利函數(shù),以下是C++標(biāo)準(zhǔn)庫(kù)函數(shù)的組織方式:在同一個(gè)命名空間下郑诺,但可以按功能組織在不同的頭文件中:
//頭文件 webbrowser.h
namespace WebBrowserStuff {
class WebBrowser {...};
...//核心功能夹姥,例如幾乎所有客戶都需要的
//non-member函數(shù)
}
//頭文件 webbrowserbookmakrs.h
namespace WebBrowserStuff {
...//與書簽相關(guān)的便利函數(shù)
}
//頭文件 webbrowsercookies.h
namespace WebBrowserStuff {
...//與cookie相關(guān)的便利函數(shù)
}