aiao aiao - 6 months ago 29
C++ Question

Is the 'override' keyword just a check for a overriden virtual method?

As far as I understand, the introduction of

keyword in C++11 is nothing more than a check to make sure that the function being implemented is the
ing of a
function in the base class.

Is that it?


That's indeed the idea. The point is that you are explicit about what you mean, so that an otherwise silent error can be diagnosed:

struct Base
    virtual int foo() const;

struct Derived : Base
    virtual int foo()   // whoops!
       // ...

The above code compiles, but is not what you may have meant (note the missing const). If you said instead, virtual int foo() override, then you would get a compiler error that your function is not in fact overriding anything.