Описание тега pure-virtual
Хотя термин "чистый виртуальный" обычно используется только в C++, аналоги существуют и в других языках. В Java, например, абстрактный метод (объявленный с ключевым словом abstract) служит той же цели. Основная причина такого сдвига в терминологии заключается в том, что в Java все методы являются виртуальными (т.е. будут выполнять определение, наиболее близкое к истинному типу объекта во время выполнения, а не определение, наиболее близкое к типу, на который ссылаются).
Однако чисто виртуальный метод указывает, что определение будет отложено до надлежащего определения типа, заставляя полиморфное поведение не указывать реализацию по умолчанию для производных типов, к которой нужно прибегать.
В Java и подобных языках абстрактные методы требуют, чтобы класс также был объявлен как абстрактный. В C++ существование чистого виртуального метода предотвращает создание экземпляра, и программисту не нужно явно отмечать класс как абстрактный.