Не указывать явно метод для переопределения в производном классе. Это должно работать? - PullRequest
2 голосов
/ 11 января 2012

Лучше объяснить в коде, чем словами:

//Classes.hpp
struct Base
{
   virtual void foo() = 0;
};

struct Derived : public Base
{
   //Nothing here
};

//Classes.cpp
void Derived::foo()
{
   //Do something here
}

Я видел эту компиляцию без ошибок, но мне кажется странным, что вам не нужно явно указывать в классе Derived, что вы собираетесь реализовать "foo".

Это должно работать в соответствии со стандартом C ++?

1 Ответ

3 голосов
/ 11 января 2012

Не знаю, какой компилятор вы используете, но это нелегально с ++. Мой VC и gcc возвращают ожидаемую ошибку при компиляции этого кода.

...