По сути, мне нужна функциональность компилятора C # для его ключевого слова override
в моем коде C ++.
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
};
Как мы все знаем, приведенный выше код компилируется нормально, но дает некоторые странные поведение во время выполнения. Мне бы хотелось, чтобы мой компилятор C ++ поймал мою плохую реализацию с помощью чего-то вроде ключевого слова C # override
. Есть ли какие-то ключевые слова, такие как «override», вводимые в C ++, или мы застряли на #define override virtual
, чтобы показать наши намерения? (на самом деле, я этого не делаю - я ненавижу использовать препроцессор для «расширения» языка).