с++ ShapesDetector
В этой задаче вам предстоит определять динамический тип объектов
А именно, есть иерархия классов
class Shape {
public:
virtual double area() = 0;
};
class Ellipse : public Shape { // Овал
public:
double area() override;
};
class Circle : public Ellipse { // Круг
public:
double area() override;
};
class Rectangle : public Shape { // Прямоугольник
public:
double area() override;
};
class Square : public Rectangle { // Квадрат
public:
double area() override;
};
Ваша задача написать функции
bool IsCircle(const Shape& shape);
bool IsEllipse(const Shape& shape);
bool IsSquare(const Shape& shape);
bool IsRectangle(const Shape& shape);
1. IsCircle возвращает true, если лежайщий под shape объект является Circle. false --
иначе
2. IsEllipse возвращает true, если лежайщий под shape объект является Ellipse. false --
иначе
3. IsSquare возвращает true, если лежайщий под shape объект является Square. false --
иначе
4. IsRectangle возвращает true, если лежайщий под shape объект является Rectangle. false
-- иначе
А именно, вызов IsRectangle(Square()) должен вернуть false, и только вызов
IsRectangle(Rectangle()) вернет true.
В систему отправляйте лишь код функций и необходимые библиотеки, всё остальное будет
подключено автоматически
Указание: подумайте, как можно применить dynamic_cast
Please enter comments
Please enter your name.
Please enter the correct email address.
You must agree before submitting.

Answers & Comments


Copyright © 2024 SCHOLAR.TIPS - All rights reserved.