Вы можете использовать <type_traits>
(в C ++ 11), чтобы проверить, является ли класс abstract .Однако это только проверяет, является ли любой метод чисто виртуальным.Но у вас могут быть другие методы, которые либо не являются полиморфными, либо, по крайней мере, не являются чисто виртуальными.
Я бы хотел проверить, есть ли в классе только чисто виртуальные методы.Намерение состоит в том, чтобы заставить класс быть интерфейсом только для интерфейса (например, static_assert
).Кажется, для этого нет встроенной черты - я ее упускаю или есть какая-то разумная комбинация существующих для достижения этой цели?