☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

类的非常量数据成员不应为 protected

5.1.2 ID_protectedData
目录 › next › previous

protected 数据成员在派生类中仍可被随意读写,破坏了封装理念。

本规则是 ID_nonPrivateData 的特化,关于封装的进一步讨论可参见 ID_nonPrivateData。

常量数据成员不可被改变,所以可不受本规则约束。

示例:

class A {
    ....
protected:
    int data;   // Non-compliant
};

应改为由接口访问:

class A {
    ....
protected:
    int access_data();   // Interfaces for data
private:
    int data;   // Compliant
};

相关

ID_mixPublicPrivateData ID_nonPrivateData

参考

C++ Core Guidelines C.9 C++ Core Guidelines C.133
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.