将成员变量声明为Private
原因如下:
1,语法一致性,暴露出来的都是函数2.可以对每一个变量实现权限控制,“不准访问”“只读访问”“读写访问”
3.具备更好的封装性,可以有效保障在更改某些成员变量时不会影响客户的使用
protected成员变量同样不具备较好的封装性。
宁以非成员、非友元函数替换成员函数
此条款的逻辑是这样的,当我们讨论一个类的封装性的时候。越少的代码可以看到数据,越多的数据可以被封装时,其封装性也就越好。
因此可以直接访问私有成员代码的多少直接影响封装性。如果一个函数的功能均可实现,在成员函数、非成员函数选择时建议选择非成员函数。
在C++中较合适的处理方式是将非成员函数位于类的同一个命名空间中即可。
namespace
namespace WebBrowserStuff
{
class WebBrower{};
void clearBrowser(WebBrower& wb);
}