受保护的继承

sky*_*oor 10 c++

为什么定义和提议保护和私有继承?我理解一些情况下可以使用私有继承,但不建议这样做.受保护的继承怎么样?

任何人都可以向我提供受保护的继承是一种选择的情况吗?

我很少看到这个.

非常感谢!

Chr*_*ung 6

私有继承通常用于mixins ---人们继承从基类获取功能,而不是因为"is-a"继承.

受保护的继承也可以用于mixin,其中混合功能也可用于下游类.

  • 汽车`有一个'引擎.理想情况下,应该使用`composition`而不是`inheritance`.通常,当关系是`is-a`时,应该使用继承.只需2美分. (3认同)

Max*_*ert 5

我一般不使用protected继承.实际上,我一般不使用private继承.如果某些东西不符合Liskov替代原则那么我就没有理由使用任何类型的继承; 如果它确实满足LSP,那么你使用public继承.

但是,语言区分privateprotected仅从类的角度来区分(也就是说,使用类的代码无法区分).

protected当你想要它的语义时,你应该使用继承,你应该private在你不想要时使用protected.