Если вы собираетесь найти его, это, вероятно, часть другой зависимости. Поэтому лучше всего попытаться написать свое собственное. Сейчас самое время практиковать создание класса шаблонов. :)
template <typename T>
struct point
{
// or maybe you'd prefer to make these private
T x;
T y;
};
template <typename T>
struct rectangle
{
public:
typedef point<T> point_type;
bool contains(const point_type& pPoint)
{
return !(pPoint.x < topleft.x) && (pPoint.x < bottomright.x) &&
!(pPoint.y < topleft.y) && (pPoint.y < bottomright.y);
}
T width(void) const
{
return bottomright.x - topleft.x;
}
// and more stuff
// or maybe you'd prefer to make these private, nor
// is this the only way to represent a rectangle.
point_type topleft;
point_type bottomright;
};
Жаль, что это не тот ответ, которого вы ожидаете.
Просто о вашем дизайне, я надеюсь, что вы не принимая версию графического интерфейса пользователя, выполняя копию, а затем изменить его в консольной версии. Лучше было бы сделать библиотеку; то GUI и консоль - это просто вопрос презентации.
О, Господи, почему ты теряешь сон над этим? Эта лишняя сотня байт виртуальной памяти, которую вы будете потреблять, - это что-то * I * не заметит. Сделайте это реальным вопросом, покажите нам, как это приятно. –
Qt - довольно тяжелая зависимость для чего-то, для которого нужен только класс прямоугольника. И что значит «называть это» в любом случае ... –
Написание пересечения и объединение для прямоугольников - это стандартный вопрос интервью, который я задаю. Напишите свои собственные и станьте лучшим человеком для этого. –