12 #include "ValChaine.h"
13 #include "ValErreur.h"
14 #include "ValDouble.h"
29 static const std::string
nom;
56 if((pe=dynamic_cast<Expression*>(
listeParam.front()))){
58 if(dynamic_cast<ValErreur*>(vg)){
61 }
else if(dynamic_cast<ValChaine*>(vg)||dynamic_cast<ValVide*>(vg)){
64 }
else if(
ValDouble* vdg=dynamic_cast<ValDouble*>(vg)){
66 double dg=vdg->getDouble();
80 bool premiereFois=
true;
La classe abstraite Valeur représente une valeur parmi : ValErreur, ValDouble, ValChaine, ValVide.
Definition: Valeur.h:19
static const std::string nom
nom de la fonction : SIN
Definition: Sinus.h:29
Definition: Argument.cpp:10
La classe ValErreur représente une Valeur d'Erreur sous forme de chaîne.
Definition: ValErreur.h:19
Definition: Fonction.h:16
std::list< Argument * > listeParam
Liste des paramètres de la fonction.
Definition: Fonction.h:21
Definition: Argument.h:16
modele::Valeur * calculer()
calcule la valeur de l'expression sinus(e)
Definition: Sinus.h:49
Sinus(Expression *e)
constructeur d'une instance de fonction sinus sur une expression
Definition: Sinus.h:43
La classe Expression représente la classe ABSTRAITE racine de la hiérachie des noeuds calculables de ...
Definition: Expression.h:25
Expression * clone()
Clonage arborescent d'une expression sinus.
Definition: Sinus.h:94
std::string toString()
Fonction retournant une chaîne représentant la fonction.
Definition: Sinus.h:78
La classe Sinus permet d'instancier des expressions fonctionnelles telles que : sin(3.14), sin(A1+2), ...
Definition: Sinus.h:24
La classe ValDouble représente une Valeur double.
Definition: ValDouble.h:20
static const int nbParam
Nombre de paramètres de la fonction : -1 : illimité 0 : aucun 1..n : n paramètres.
Definition: Sinus.h:36
virtual modele::Valeur * calculer()=0
Méthode virtuelle pure calculant la valeur de l'expression (arbre)