假设我们有A类,然后我在写B类,我需要使用A类而不暴露A类的公共成员。所以我可以使用私有继承,或者我可以将A的对象作为B的私有字段。如果我不需要添加直接操作A的字段的新逻辑,我应该选择私有继承还是添加私有字段?
发布于 2020-07-05 08:00:54
如果你想在不公开的情况下使用A类的公共成员,不要声明它们为公共的,声明它们为私有的。将类B编写为友类,这样它就可以访问A的私有数据字段。
发布于 2020-07-05 09:00:01
Google style guide很好地讨论了为什么组合(私有字段)比继承更可取:
https://google.github.io/styleguide/cppguide.html#Inheritance
如果你只需要功能,继承是没有好处的。组合使意图清晰,并使代码更容易阅读和更易维护。
https://stackoverflow.com/questions/62735470
复制相似问题