Graphe d'héritage de classes avec méthodes virtuelles
C#
Hard
classes
Tâche «Graphe d'héritage de classes avec méthodes virtuelles»
Développez un système de classes pour représenter une hiérarchie de figures géométriques avec une méthode virtuelle de calcul de surface. La classe de base Shape contient une méthode virtuelle CalculateArea() qui retourne 0. La classe Circle (rayon) redéfinit la méthode comme π*r^2. La classe Rectangle (largeur, hauteur) — largeur*hauteur. La classe Triangle (base, hauteur) — 0.5*base*hauteur. Données d'entrée : un nombre N — nombre de figures, puis N lignes décrivant les figures : "Circle rayon", "Rectangle largeur hauteur", "Triangle base hauteur". Il faut calculer la somme des surfaces de toutes les figures avec une précision de deux décimales.
Format d\ entrée
Un nombre entier N (1 ≤ N ≤ 100). Ensuite N lignes, chacune contenant le nom de la figure et ses paramètres : pour Circle — un nombre entier (rayon), pour Rectangle — deux nombres entiers (largeur et hauteur), pour Triangle — deux nombres entiers (base et hauteur). Tous les paramètres sont des entiers positifs de 1 à 100.
Format de sortie
Un nombre réel — la somme des surfaces de toutes les figures, arrondie à deux décimales.
Exemples
Exemple 1
ENTRÉE
1 1
0
SORTIE
0
Exemple 2
ENTRÉE
2
Rectangle 10 10
Triangle 5 8
SORTIE
120.00
main.cs