Basically, I want the C# compiler functionality of its override keyword in my C++ code.
class Base
{
virtual int foo(int) const;
};
class Derived : public Base
{
virtual int foo(int); // wanted to override Base, but forgot to declare it const
};
As we all know, the above code will compile fine, but yield some strange runtime behavior. I would love my C++ compiler to catch my poor implementation with something like C#’s override keyword. Are there any keywords like “override” being introduced into C++, or are we stuck with #define override virtual to show our intent? (actually, I do not do this – I hate using the preprocessor to “extend” the language).
If you can’t wait for C++0x, Visual C++ already has this override keyword. (Since 2005 I believe). There the syntax is:
You’re not obliged to type it, however. And its a non-standard microsoft extension.