Абстрактная функция
Определение
Абстрактная функция (или «чистая виртуальная функция», от англ. «abstract function») — это функция без определения, которую переопределяют дочерние классы.
Описание
Абстрактная функция указывает на то, что в данном классе нет реализации этой функции, но она должна быть реализована в классах-потомках. Абстрактные функции бывают полезны, когда от класса-предка наследуются несколько классов-потомков с различными реализациями одного и того же действия. В этом случае можно использовать переменную типа класса-предка с абстрактной функцией для вызова этой функции. В зависимости от того, на объект какого класса указывает переменная, будет вызвана нужная реализация функции. Абстрактными могут быть только виртуальные функции. Обычно создание объекта класса, имеющего абстрактные функции, приводит к выводу компилятором предупреждения. Вызов абстрактной функции во время выполнения обычно приводит к выводу ошибки.