Какие члены класса создать в этом задании?

Есть задание

Разработать класс «Прямоугольник». Определить в нем конструкторы и деструктор, перегрузить операцию пересечения прямоугольников (операция “*”), операцию вычисления площади прямоугольника, операции сравнения (по площади).Перегрузка операторов должна быть выполнена ДВУМЯ способами: использование метода класса и использование дружественной функции! Какие члены класса создать и каким способом вычислить пересечение прямоугольников. Что должен возвращать этот метод?


Ответы (1 шт):

Автор решения: V-Mor

Если под членами класса подразумеваются действительно все члены, то я бы сделал так:

Поля: координаты двух противоположных углов прямоугольника, каждый типа std::pair<int, int>, если мы работаем в целых числах.

Методы описаны в задании, но повторю: конструктор, деструктор, operator*, операторы ==, !=, >, <, <=, >= для площади. И метод с названием, например, S(), возвращающий unsigned int, если опять же мы в целых числах, который представляет вычисление площади.

Я описал только открытые члены, т.е. интерфейс класса. Реализация целиком зависит от пожеланий и умений автора, то есть всё, что private, определите из своих соображений.

P.S. Интерфейс довольно наивный, хотя и исчерпывающий. Его можно ещё долго совершенствовать с целью улучшения стиля кода, например. Я дал лишь изначальный вариант.

→ Ссылка