Effective-cpp-#22

Declare data members private

动机

  • 首先是避免程序员考虑应该使用括号还是不需要使用,保证一致性
  • 其次是可以保证对成员变量的精确控制,细微划分访问控制

根据书中观点:封装性与“当其内容改变时可能造成的代码破坏量”成反比

建议

  • 切记将成员声明为private,这可赋予客户访问数据的一致性,可细微划分访问控制,允诺约束条件得到保证,并提供class作者以充分的实现弹性
  • protected并不比public更具封装性