1 class Base 2 { 3 public: 4 virtual void foo() = 0; 5 }; 6 7 class Derived final : public Base 8 { 9 virtual void foo() final; 10 virtual void final(); 11 }; 12 foo()13 void Base::foo() 14 { 15 } 16 foo()17 void Derived::foo() 18 { 19 } 20 final()21 void Derived::final() 22 { 23 } 24