#include #include #include #include "nodes.h" using namespace std; void Node::addChildren(refptr other) { if (other.isNull()) return; for (vector< refptr >::const_iterator it = other->m_children.begin(); it != other->m_children.end(); it++) { addChild(*it); } } Node::~Node() { } double BinOpNode::getNumber() { double o = one->getNumber(); double t = two->getNumber(); switch (m_op) { case '*': return o * t; case '/': return o / t; case '+': return o + t; case '-': return o - t; default: cerr << "Error: BinOpNode created with op '" << m_op << "'" << endl; exit(-3); } }