:: Enseignements :: Master :: M2 :: 2011-2012 :: Machine Virtuelle (et bazard autour ...) ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | Lab 2 |
Exercice 1 - Lab 2
Pour les opérateurs +, -, /, * et %, il n'est pas possible comme pour == et !=
de savoir le type du résultat sans regarder les valeurs des arguments.
-
Créer une méthode fallback qui prend deux objets en paramètre
et qui sera appelé avec les deux arguments de l'opérateurs et affiche
la classe de ceux-ci puis lève une exception (pour l'instant).
-
Modifier le code pour permettre de savoir de quel opérateur il s'agit,
pour cela l'opérateur (la valeur de l'enum correspondant) sera
passé en premier paramètre avant les arguments.
L'astuce consiste à utiliser insertArguments.
-
Modifier le code de la méthode fallback pour ne calculer la classe des arguments
que si nécessaire. Par exemple, si l'opérateur prend un int en premier paramètre,
il n'est pas nécessaire de calculer sa classe.
-
Modifier enfin votre code pour afficher le type qui devra être passé à getOp
en fonction du types des arguments. Attention à la promotion des entiers vers les flottants
et autre + entre les chaines de caractère.
© Université de Marne-la-Vallée