On 14 October 2013 11:15, Jonathan Wakely wrote: > On 14 October 2013 10:25, Florian Weimer wrote: >> Are C++11 final classes really final, or is it still possible to define a >> derived class through some hack without violating language rules? >> >> It seems we devirtualize calls to virtual members of final classes in some >> cases, so I assume final is really final, but I'm not sure. :-) > > It's intended to be really final, so devirtualization is allowed. I say "intended" because people manage to do some highly unexpected things within the rules of the language, but I haven't seen any ways of "breaking" final, and I think they'd be against the spirit of the standard, if not the letter.