Я пытаюсь создать класс Comparator для объектов некоторого класса А. Для этого я хочу создать базовый класс BaseComparator
и извлечь из него AComparator
и BComparator
. Есть ли способ заставить все классы, производные от BaseComparator
, реализовать функцию bool compare(const A &a, const A &b)
, поэтому
class AComparator : public BaseComparator {
static bool compare(const A &a, const A &b) { return true; }
}
скомпилируется и
class BComparator : public BaseComparator {
}
сгенерирует ошибку во время компиляции?
Есть способ достичь этого с помощью абстрактного класса, который меня не удовлетворяет, так как требует, чтобы у класса была чисто виртуальная функция (в то время как у моих классов нет состояния, а есть только состояния c). и мне их экземпляры не нужны).