umbrello: test/import/cxx/cxx11-explicit-overrides-and-final.h Source File

umbrello 2.32.0 Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology

cxx11-explicit-overrides-and-final.h
Go to the documentation of this file.
1 // https://en.wikipedia.org/wiki/C%2B%2B11#Explicit_overrides_and_final
2
3 // #1
4 struct Base {
5 virtual void some_func(float);
6 };
7
8 struct Derived : Base {
9 virtual void some_func(int) override; // ill-formed - doesn't override a base class method
10 };
11
12 // #2
13 struct Base1 final { };
14
15 struct Derived1 : Base1 { }; // ill-formed because the class Base1 has been marked final
16
17 // #3
18 struct Base2 {
19 virtual void f() final;
20 };
21
22 struct Derived2 : Base2 {
23 void f(); // ill-formed because the virtual function Base2::f has been marked final
24 };
Base1
Definition: cxx11-explicit-overrides-and-final.h:13
Base2
Definition: cxx11-explicit-overrides-and-final.h:18
Base2::f
virtual void f() final
Base
Definition: cxx11-explicit-overrides-and-final.h:4
Base::some_func
virtual void some_func(float)
Derived1
Definition: cxx11-explicit-overrides-and-final.h:15
Derived2
Definition: cxx11-explicit-overrides-and-final.h:22
Derived2::f
void f()
Derived
Definition: cxx11-explicit-overrides-and-final.h:8
Derived::some_func
virtual void some_func(int) override