Я нашел некоторый код в рабочем проекте, который выдает ошибки, когда дочерний класс не переопределяет функцию базового класса (по сути, базовые классы, которые используют эту утилиту, фактически являются абстрактными).Когда я увидел это, моей первой реакцией было: «Почему они просто не делают эти методы чисто виртуальными?»Тем не менее, рассматриваемому коду около 15 лет, и я не был уверен, был ли он создан, чтобы заполнить пробел, который чистый виртуальный заполнит позже (при условии, что он не существовал в то время).
Если с тех пор существуют чисто виртуальные методы, есть ли причина предоставлять им дополнительную или альтернативную функциональность?(Я понимаю, что это может быть субъективно, но у меня даже нет здесь отправной точки).
Если нет, есть ли документация, которая указывает, какой стандарт ввел их?