Абстрактный класс — это класс, который содержит или наследует без переопределения хотя бы одну чистую виртуальную функцию. metanit.com {8-host} Он определяет интерфейс для переопределения производными классами. metanit.com От абстрактных классов нельзя создавать объекты, но они могут использоваться как базовые классы для образования конкретных, уточняющих производных классов. microsin.ru
Чистая виртуальная функция — это виртуальная функция, не имеющая имплементации в родительском классе. github.com Необходимость в ней возникает, когда пользователь не знает, какая имплементация должна быть у виртуальной функции в родительском классе, так как её имплементация зависит от типа объекта. github.com Чистую виртуальную функцию требуется инициализировать нулевым значением. github.com
Таким образом, основное различие между абстрактным классом и чистой виртуальной функцией в том, что абстрактный класс содержит класс с чистой виртуальной функцией, а чистая виртуальная функция — это сама такая функция. metanit.com github.com