条款 23:宁以 non-member、non-friend 替换 member 函数
Prefer non-member non-friend functions to member functions.
第二种方式更好,因为耦合更低更易扩展。
class WebBrowser
{
public:
...
void clearCache();
void clearHistory();
void clearCookies();
...
};
class WebBrowser
{
public:
...
void clearEveryThing();
...
}
void clearBrower(WebBrowser& wb)
{
wb.clearCache();
wb.clearHistory();
wb.clearCookies();
}
将多个便利函数定义在不同头文件但是隶属于同一命名空间。