Commit 2a9a9f71 authored by Hernandez Francois's avatar Hernandez Francois

Plus bis

parent 0925f2e5
......@@ -64,18 +64,23 @@ Expression * Variable::clone() const{
return res;
}
Plus::Plus(Expression * gauche, Expression * droite){
Operateur::Operateur(Expression * gauche, Expression * droite){
}
Plus::Plus(Expression * gauche, Expression * droite) : Operateur(gauche, droite){
this->gauche_ = gauche->clone();
this->droite_ = droite->clone();
}
Expression * Plus::derive(char nom) const{
return this->droite_;
}
Expression * Plus::clone() const{
Plus * res = new Plus(this->gauche_, this->droite_);
return res;
}
void Plus::affiche(std::ostream & o) const{
......
......@@ -50,10 +50,11 @@ private:
};
class Operateur : public Expression {
public:
Operateur(Expression *gauche, Expression *droite); // Constructeur
//~Operateur(); // Destructeur
public:
virtual void affiche(std::ostream & o) const = 0;
virtual Expression * derive(char nom) const = 0;
virtual Expression * clone() const = 0;
......@@ -64,10 +65,10 @@ private:
};
class Plus : public Operateur {
Plus(Expression *gauche, Expression *droite); // Constructeur
~Plus(); // Destructeur
public:
Plus(Expression *gauche, Expression *droite); // Constructeur
~Plus(); // Destructeur
void affiche(std::ostream &o) const;
Expression * derive(char nom) const;
Expression * clone() const;
......
No preview for this file type
......@@ -30,4 +30,10 @@ int main()
std::cout << dv->nb_instances();
std::cout << "\n";
Plus * p = new Plus(nb, v);
p->affiche(std::cout);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment