Код: Выделить всё
template
concept Vector2 = requires (T t) { t.x; t.y; };
struct Shape
{
bool contains(const Vector2 auto&) { ... }
};
Код: Выделить всё
struct Circle : public Shape
{
bool contains(const Vector2 auto&) const override;
};
Причина концепции Vector2 заключается в том, что я использую 2D-функциональность из разных библиотек, и я хочу, чтобы все их соответствующие Vector2 -class могли передавать мои функции. Является ли этот шаблон дизайна, как правило, хорошей идеей или нет, не является тем, о чем мой вопрос, а просто если что -то, напоминающее то, что я хочу достичь, возможно. возможно?
Подробнее здесь: https://stackoverflow.com/questions/772 ... nstraint-i