On Tue, 04 Jun 2013 06:16:45 +0200, Steven Schveighoffer
<[email protected]> wrote:
I think it is unfair to say most classes are not base classes. This
would mean most classes are marked as final. I don't think they are.
One of the main reasons to use classes in the first place is for
extendability.
This is false. Consider this hierarchy: A->B->C, where x->y means 'x
derives from y'. There is only one base class (A), and only one class
that may be marked final (C). This will often be the case.
BTW, did you know you can extend a base class and simply make the
extension final, and now all the methods on that derived class become
non-virtual calls? Much easier to do than making the original base
virtual (Note I haven't tested this to verify, but if not, it should be
changed in the compiler).
This does however not help one iota when you have a reference to a base
class. This will also often be the case.
--
Simen