Граф наследования классов с виртуальными методами
C#
Сложный
classes
Задача «Граф наследования классов с виртуальными методами»
Разработайте систему классов для представления иерархии геометрических фигур с виртуальным методом вычисления площади. Базовый класс Shape содержит виртуальный метод CalculateArea(), возвращающий 0. Класс Circle (радиус) переопределяет метод как π*r^2. Класс Rectangle (ширина, высота) — ширина*высота. Класс Triangle (основание, высота) — 0.5*основание*высота. Входные данные: число N — количество фигур, затем N строк с описанием фигур: "Circle радиус", "Rectangle ширина высота", "Triangle основание высота". Необходимо вычислить сумму площадей всех фигур с точностью до двух знаков после запятой.
Формат ввода
Целое число N (1 ≤ N ≤ 100). Далее N строк, каждая содержит название фигуры и её параметры: для Circle — одно целое число (радиус), для Rectangle — два целых числа (ширина и высота), для Triangle — два целых числа (основание и высота). Все параметры — положительные целые числа от 1 до 100.
Формат вывода
Одно вещественное число — сумма площадей всех фигур, округлённая до двух знаков после запятой.
Примеры
Пример 1
ВВОД
1 1
0
ВЫВОД
0
Пример 2
ВВОД
2
Rectangle 10 10
Triangle 5 8
ВЫВОД
120.00
main.cs