Создайте два класса: Rectangle и Circle. Реализуйте дружественную функцию, которая принимает объекты обоих классов и возвращает true, если площадь прямоугольника больше площади круга, и false в противном случае.
Требования:
Класс Rectangle должен иметь поля width и height.
Класс Circle должен иметь поле radius.
Реализуйте методы для вычисления площади для каждого класса.
Используйте дружественную функцию для сравнения площадей.
// Метод для вычисления площади
double area() const {
return M_PI * radius * radius;
}
// Дружественная функция для сравнения площадей
friend bool isRectangleAreaGreater(const Rectangle& rect, const Circle& circ);
};
// Дружественная функция для сравнения площадей
bool isRectangleAreaGreater(const Rectangle& rect, const Circle& circ) {
return rect.area() > circ.area();
}
int main() {
// Создание объектов Rectangle и Circle
Rectangle rect(5.0, 10.0);
Circle circ(4.0);
// Сравнение площадей
if (isRectangleAreaGreater(rect, circ)) {
std::cout << "Площадь прямоугольника больше, чем площадь круга." << std::endl;
} else {
std::cout << "Площадь круга больше или равна площади прямоугольника." << std::endl;
}
int main() {
Rectangle rect(5, 10);
Circle circ(3);
if (compareArea(rect, circ)) {
std::cout << "Площадь прямоугольника больше площади круга." << std::endl;
} else {
std::cout << "Площадь круга больше или равна площади прямоугольника." << std::endl;
}
return 0;
}
```
В этом коде мы создаем два класса: `Rectangle` с полями `width` и `height`, и `Circle` с полем `radius`. Каждому классу присвоен метод для вычисления площади. Дружественная функция `compareArea` сравнивает площади указанных фигур и возвращает результат.