Tableur C++  1.0
API de tableur + interprète bison en ligne de commande
Binaire.h
1 /*
2  * Binaire.h
3  *
4  * Created on: 27 mars 2015
5  * Author: michel
6  */
7 
8 #ifndef BINAIRE_H_
9 #define BINAIRE_H_
10 
11 #include "Expression.h"
12 
13 namespace modele {
14 //class Expression;
15 
16 class Binaire : public Expression {
17 private:
18  char op; // opérateur +,-,*,/
19  Expression *gauche; // sous-exp de gauche
20  Expression *droite; // sous-exp de droite
21 
22 public:
23  Binaire(char o, Expression *g, Expression *d) : op(o), gauche(g), droite(d) {
24  }
29  Expression *g=this->gauche->clone();
30  Expression *d=this->droite->clone();
31  return new Binaire(op,g,d);
32  }
33 
37  Valeur * calculer();
38 
39  std::string toString();
40 
41  void majRefRelatives(Reference *r);
42 
45  ~Binaire();
46 };
47 
48 } /* namespace modele */
49 
50 #endif /* BINAIRE_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
~Binaire()
Destructeur d'une binaire : commence par détruire les deux sous-objets gauche et droit.
Definition: Binaire.cpp:78
Definition: Argument.cpp:10
Definition: Binaire.h:16
virtual Expression * clone()=0
Clonage arborescent d'une expression.
std::string toString()
Méthode virtuelle pure retournant une chaîne représentant l'expression (arbre)
Definition: Binaire.cpp:69
Expression * clone()
recopie (clone)
Definition: Binaire.h:28
La classe Expression représente la classe ABSTRAITE racine de la hiérachie des noeuds calculables de ...
Definition: Expression.h:25
Valeur * calculer()
Calcule la valeur d'une expression binaire infix dont l'opérateur est parmi : -, +, *, /.
Definition: Binaire.cpp:25
void majRefRelatives(Reference *r)
destructeur virtuel impur : seul le destructeur de l'hérité sera appelé
Definition: Binaire.cpp:74