使用non-member, non-friend函数的替换member函数,封装性更好,因为新增的member方法可以访问内部private成员,对封装有破坏,而non-member, non-friend函数则不会,non-member, non-friend函数这种函数也可以称为便利函数,以下是C++标准库函数的组织方式:在同一个命名空间下,但可以按功能组织在不同的头文件中:
//头文件 webbrowser.h
namespace WebBrowserStuff {
class WebBrowser {...};
...//核心功能,例如几乎所有客户都需要的
//non-member函数
}
//头文件 webbrowserbookmakrs.h
namespace WebBrowserStuff {
...//与书签相关的便利函数
}
//头文件 webbrowsercookies.h
namespace WebBrowserStuff {
...//与cookie相关的便利函数
}