#ifndef SUM_H #define SUM_H #include "Expression.h" template struct Sum : public Expression { Sum(Expression* left, Expression* right) : _left(left), _right(right) { } T eval(const std::map& mappings) const { T left = _left->eval(mappings); T right = _right->eval(mappings); return left + right; } private: Expression* _left; Expression* _right; }; #endif