总结:
宁可拿
non-member non-friend函数替换member函数。这样做可以增加封装性、包裹弹性(packaging flexibility)和机能扩充性。
举例:一个class用来表示网页浏览器。这样的class可能提供的众多函数中,有一些用来清除下载元素高速缓存区、清除访问过的URLS的历史记录、以及移除系统中的所有cookies:
class webBrowser {
public:
...
void clearCache( );
void clearHistory (<

本文探讨了在C++编程中,为何在某些情况下使用non-member函数优于member函数,主要考虑因素包括增强封装性、提高封装灵活性和可扩展性。通过举例解释,指出non-member函数对数据的封装效果更好,减少了编译依赖,增加了代码的可扩展性。同时强调,这一原则仅适用于non-member和member函数的比较,而不涉及friend函数。建议将便利函数组织在同一个命名空间内,以便于客户端扩展。
最低0.47元/天 解锁文章





