Google C++ 风格指南在关于继承的部分中指出:
将 protected 的使用限制为可能需要从子类访问的那些成员函数。请注意,数据成员应该是私有的。
现在考虑以下情况:
class A {
private:
double m;
// ...
}
class B : public A {
// ...
}
我想正确的方法是 A 类为 m 实现 getter/setter 函数,以便 B 类可以访问它?
我真的不明白为什么选择这条规则而不是protected
用于数据成员。有人可以解释一下吗?