为什么C ++允许对派生类方法进行更严格的访问?

时间:2014-11-14 16:56:11

标签: c++ access-specifier

这个link讨论了允许对派生类方法进行更严格的访问。

Q值。在C ++中允许这个的原因是什么?

Java&等语言C#不允许它。在某些情况下它有用吗?如果是这样,请帮助我理解。

1 个答案:

答案 0 :(得分:4)

它更多地与它永远不被禁止有关。而现在为时已晚:代码太多会破坏。请记住,C ++是一种比Java或C#更老的语言。

但是C ++哲学激励你问“为什么不允许它?”。 甚至可以有用:一些人利用它并将重写方法设为私有。您应该附加到私有方法的文档量可能远远少于公共方法。这意味着您不会重复自己,并且不得不依赖基类中的public / protected方法进行注释。