Tableur C++  1.0
API de tableur + interprète bison en ligne de commande
Fonction.h
1 /*
2  * Fonction.h
3  *
4  * Created on: 8 avr. 2015
5  * Author: michel
6  */
7 
8 #ifndef FONCTION_H_
9 #define FONCTION_H_
10 
11 #include <list>
12 #include "Expression.h"
13 
14 namespace modele {
15 
16 class Fonction: public Expression {
17 protected:
18 
21  std::list<Argument *> listeParam;
22 
23 
24 public:
28  Fonction(): listeParam(){}
29 
33  Fonction(std::list<Argument *> larg) : listeParam(larg){}
34 
35 
39  virtual modele::Valeur * calculer()=0; // virtuelle pure(=0), le retour doit être par réf (ou ptr) car on ne peut ret une classe abstraite
44  for (Argument *e: listeParam){
45  e->majRefRelatives(r);
46  }
47  }
48 
49  ~Fonction() {}
50 };
51 
52 } /* namespace modele */
53 
54 #endif /* FONCTION_H_ */
La classe abstraite Valeur représente une valeur parmi : ValErreur, ValDouble, ValChaine, ValVide.
Definition: Valeur.h:19
Référence absolue de cellule définie par un numéro de ligne [1..16384], un numéro de colonne [1...
Definition: Reference.h:24
virtual modele::Valeur * calculer()=0
Méthode virtuelle pure calculant la valeur de l'expression (arbre)
Definition: Argument.cpp:10
Fonction()
constructeur de Fonction par défaut.
Definition: Fonction.h:28
Fonction(std::list< Argument * > larg)
constructeur de Fonction initialisant la liste des arguments
Definition: Fonction.h:33
Definition: Fonction.h:16
std::list< Argument * > listeParam
Liste des paramètres de la fonction.
Definition: Fonction.h:21
Definition: Argument.h:16
La classe Expression représente la classe ABSTRAITE racine de la hiérachie des noeuds calculables de ...
Definition: Expression.h:25
void majRefRelatives(Reference *r)
 Transmet la mise à jour de la référence dans chaque référence relative.
Definition: Fonction.h:43