1 2 3 4 5 6 7 8 9 10 11 12

Node<T,V>() : left_(NULL), right_(NULL), value_(0) {}
Node<T,V>(T id, V value) : left_(NULL), right_(NULL), value_(value), id_(id) {}
Node<T,V> (const Node<T,V> &node) : left_(node.left()), right_(node.right()), value_(node.Value()), id_(node.Id()) {}
Node<T,V> (Node<T,V> &a, Node<T,V> &b) : left_(&a), right_(&b), value_(a.Value() + b.Value()) {}
Node<T,V> operator =(const Node<T,V>& node)
{
this>left_ = node.left();
this>right_ = node.right();
this>value_ = node.Value();
this>id_ = node.Id();
return *this;
}
 