Это означает, что функция-член чисто виртуальная , что означает, что она вообще не имеет реализации.Следовательно, класс не может быть создан (он становится «абстрактным») и может использоваться только как базовый класс, чьи производные классы должны (в конечном итоге) реализовать функцию виртуального члена.
Примером может служитьабстрактный Animal
класс с чисто виртуальной функцией-членом feed()
: поскольку каждое животное всегда является экземпляром конкретного (т.е. производного) животного, ни одно чисто абстрактное животное не может существовать.И хотя у самого животного есть какой-то способ кормления, не существует универсальной базовой реализации, которая была бы общей для каждого животного - мы знаем только, что существует feed()
, но она всегда должна выполняться конкретно конкретным производным животным.
(Обратите внимание, что вы можете на самом деле обеспечить реализацию чисто виртуальной функции. Вы еще не можете создать экземпляр такого класса, но производные классы могут вызывать базовую функцию. Это очень редко полезно ивероятно, плохой стиль.)