Tableur C++  1.0
API de tableur + interprète bison en ligne de commande
Expression.h
1 /*
2  * Expression.h
3  *
4  * Created on: 25 mars 2015
5  * Author: michel
6  */
7 
8 #ifndef EXPRESSION_H_
9 #define EXPRESSION_H_
10 
11 #include <string>
12 #include "Argument.h"
13 
14 namespace modele {
15 
16 class Valeur; // déclaration en avant car Valeur hérite d'Expression et calculer retourne une Valeur
17 class Reference;
18 
25 class Expression : public virtual Argument {
26 public:
31 
32  bool estCalculable(){ return true; }
33 
37  virtual std::string toString()=0; // virtuelle pure(=0)
38 
42  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
46  virtual Expression *clone()=0;
50  virtual void majRefRelatives(Reference *r){
51  // ne rien faire sauf pour les ref relatives et relLignes et relCol et Exp ayant des sous-expressions (binaires, fons, ...) : surcharge
52  // dans les fonctions traiter les plages : Argument non calculable
53  }
54 
55  virtual ~Expression(){};
56 };
57 
58 } /* namespace modele */
59 
60 #endif /* EXPRESSION_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 std::string toString()=0
Méthode virtuelle pure retournant une chaîne représentant l'expression (arbre)
Definition: Argument.cpp:10
virtual Expression * clone()=0
Clonage arborescent d'une expression.
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
Expression()
 constructeur d'expression.
Definition: Expression.h:30
virtual void majRefRelatives(Reference *r)
destructeur virtuel impur : seul le destructeur de l'hérité sera appelé
Definition: Expression.h:50
virtual modele::Valeur * calculer()=0
Méthode virtuelle pure calculant la valeur de l'expression (arbre)