不要将嵌套类定义为public,除非是接口的一部分。 解释:这里是C++代码风格指南中的内容,如果读者朋友是其他语言的开发者,比如php,可以理解为除了接口类或者接口函数,其他函数和类不要定义为public。
private
或protected
可以鼓励更好的封装和模块化设计。public
可能会导致类的使用者直接依赖于嵌套类的实现,从而增加了代码的耦合性。class OuterClass {
public:
class NestedClass { // 嵌套类被定义为public
// ...
};
};
class OuterClass {
private:
class NestedClass { // 嵌套类被定义为private
// ...
};
public: void publicFunction() { NestedClass instance; // 在外部类中使用嵌套类 } };
- 将NestedClass定义为private有助于隐藏其实现细节,减少外部对内部状态的依赖。
- 通过public函数publicFunction来控制对NestedClass的访问,可以保持外部接口的清晰和简洁。