Я бы сказал, что то, что мы называем классами в смысле Си++, это на самом деле скорее концепты.
Классами были бы свойства, оформленные как интерфейсы (в том смысле что если мы концепт относим к какому-то классу, это даёт нам возможность увидеть свойство в составе концепта). Интерфейс тогда это совокупность классов.
А типы - это скорее то, что даёт шаблону Factory создавать инстансы.
Я бы сказал, что то, что мы называем классами в смысле Си++, это на самом деле скорее концепты.
Классами были бы свойства, оформленные как интерфейсы (в том смысле что если мы концепт относим к какому-то классу, это даёт нам возможность увидеть свойство в составе концепта).
Интерфейс тогда это совокупность классов.А типы - это скорее то, что даёт шаблону Factory создавать инстансы.