Существует C ++ 0x, который имеет переопределение «аннотация».Или, если вы хотите получить больше похожего на Java "интерфейсного" кода, который выдает ошибки, если вы не реализуете методы, вы можете использовать абстрактный класс:
class Base {
public:
virtual void foo() = 0;
};
class Extended : public Base {
public:
void foo2() {
cout << "hi" << endl;
};
int main() {
Extended e;
e.foo();
}
Это приведет к ошибке компилятораесли вы не переопределите foo в базовом классе.Однако проблема в том, что базовый класс не может иметь собственную реализацию.