On Thursday, 6 June 2013 at 01:14:23 UTC, Jonathan M Davis wrote:
I would have expected something more like
1. 'virtual' means a method is an "introducing" one.
2. 'override' means override with a non-final function.
3. 'final override' means a method overrides a base virtual
function with a
final function.
4. 'final' by itself both mean final and non-overriding.
[...]
Yes I agree that's much more intuitive.
Also having ability for methods to individually opt out of a
virtual: or final: block will be nice to have.
eg
virtual:
void a();
final void b();
...
This should satisfy everyone since you'll easily be able to make
a class virtual by default or final by default (more or less).
--rt