私有字段对象与私有继承?

时间:2020-07-04 23:35:46

标签: c++ oop inheritance

说我们有A类。然后我正在编写B类,并且需要使用A类而不暴露A类的公共成员。因此,我可以使用私有继承,也可以将A的对象作为B的私有字段。如果我不需要添加新的逻辑来直接操纵A的字段,我应该选择私有继承还是添加私有字段?

2 个答案:

答案 0 :(得分:0)

如果您想使用A类的公共成员而不暴露他们,请不要将其声明为公共,而应将其声明为私有。将类B编写为朋友类,以便它可以访问A的私有数据字段。

答案 1 :(得分:0)

Google样式指南讨论了为何组合(私有字段)优于继承:

https://google.github.io/styleguide/cppguide.html#Inheritance

如果仅需要功能,则继承不会带来任何好处。组合使意图更清晰,并使代码更易于阅读和维护。