我正在阅读Scott Meyers的Effective C++(第三版),在第32项的一段中:确保公共继承是第151页的"is-a",他发表了评论(我以粗体显示):
这仅适用于公共继承.只有当Student公开派生于Person时,C++才会表现得如我所描述的那样.私有继承意味着完全不同的东西(见第39项),受保护的继承是我今天的意义所在.
问题是:我该如何解释这个评论?迈耶斯试图传达受保护的遗产很少被认为是有用的,应该避免吗?
(我已经阅读了私有,公共和受保护的继承以及C++ FAQ Lite的私有和受保护的继承部分之间的 区别问题,这两个部分都解释了受保护的继承意味着什么,但是没有让我深入了解何时或为什么它会有用.)
为什么定义和提议保护和私有继承?我理解一些情况下可以使用私有继承,但不建议这样做.受保护的继承怎么样?
任何人都可以向我提供受保护的继承是一种选择的情况吗?
我很少看到这个.
非常感谢!