Search code examples
c++classoverloadingvirtualderived

Prevent a virtual function bering overloaded twice in a sub-sub-class


I have a base class Base, a somewhat more specialized class SpecializedBase derived from Base, and subclasses of the latter such as Derived.

I implement a virtual function in SpecialisedBase which is pure virtual in Base. How to be sure that this function is not overloaded in Derived?


Solution

  • yes, if you can use C++11, you can write your class like

        struct derived {
            virtual void f() final;
        };