On Thursday, 6 June 2013 at 05:19:32 UTC, H. S. Teoh wrote:
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.


As for no specification, I thought the whole point was to have it
default to final? So 'final' should be optional in this case.

I see your point, but when I override a virtual it will usually always be with another virtual unless for some reason I wanted to explicitly state final. That's how it's always been done in other languages that I'm aware of, and switching to final by default on overrides will likely be a source of frustration.

--rt

Reply via email to