Talk:cpp/language/final
From cppreference.com
When doing a search of "final" (or "override") the result is empty!!!! (hns)
struct Base { virtual void foo(); }; struct A : Base { void foo() final; // Base::foo is overridden and A::foo is the final override void bar() final; // Error: bar cannot be final as it is non-virtual };
The error in "void bar() final" is that bar() does not exist in Base class. Please, correct it. Thanks!
Pablocamacho (talk) 14:23, 14 November 2020 (PST)pablocamacho
- Please run this code:
Run this code
struct Base { virtual void foo(); }; struct A : Base { void foo() final; // Base::foo is overridden and A::foo is the final override virtual void bar() final; /* See: no errors anymore :) Thus `bar()` should not ^^^^^^^ necessarily be declared in Base class. */ }; #include <cstdio> int main() { puts("OK"); }