C++ Core Guidelinesを読んでいて納得できない部分があります。
C.139: Use final on classes sparinglyの項目です。
calssに対するfinalを控えめにするという項目で、理由として以下の様に書いてあります。
Reason Capping a hierarchy with final classes is rarely needed for logical reasons and can be damaging to the extensibility of a hierarchy.
- 継承を禁止する論理的な理由があることはめったにない
- クラスの拡張性を損なう
という内容かと思いますが、個人的には納得できませんでした。
constを推奨するのと同じような理由でfinalは積極的に使っていきたいように感じます。
この理由について掘り下げて議論している書籍、Webの情報などが知りたいです。
独自見解、他言語での状況などでも大丈夫です。
基本的には納得してCore Guidelinesに従いたいと思っているので、こうするべきとされている理由をより深く知りたいです。
よろしくおねがいします。
回答6件
あなたの回答
tips
プレビュー