Is the 'override' keyword just a check for a overridden virtual method?
c++, c++-faq, c++11, overriding, virtual-functions
Solution
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.
Problem
As far as I understand, the introduction of `override` keyword in C++11 is nothing more than a check to make sure that the function being implemented is the `override`ing of a `virtual` function in the base class. Is that it?