in Java: abstrakte Klasse mit ausschließlich abstrakten (= pure virtual) Methoden heißt interface.
dafür gibt es in C++ keine syntaktische Unterstützung.
das ist sehr schade, besonders beim Arbeiten mit templates (generics):
template <class It> // <class It implements Bidirectional> void reverse (It begin, It end) { ... }