ferencd@0: class base { ferencd@0: public: ferencd@0: virtual int foo(int a) ferencd@0: { return 4 + a; } ferencd@0: virtual int bar(int a) final ferencd@0: { return a - 2; } ferencd@0: }; ferencd@0: ferencd@0: class sub final : public base { ferencd@0: public: ferencd@0: virtual int foo(int a) override ferencd@0: { return 8 + 2 * a; }; ferencd@0: virtual int bar(int a) ferencd@0: { return a; } ferencd@0: }; ferencd@0: ferencd@0: class impossible : public sub { }; ferencd@0: ferencd@0: int main(void) ferencd@0: { ferencd@0: base b; ferencd@0: sub s; ferencd@0: ferencd@0: return 1; ferencd@0: }