template <typename Key, typename Element>
class AVLItem : public Item<Key,Element> { // an AVL item
private:
int hgt; // node height
public:
AVLItem(const Key& k = Key(), const Element& e = Element(), int h = 0)
: Item<Key, Element>(k, e), hgt(h) { }
int height() const { return hgt; } // get height
void setHeight(int h) { hgt = h; } // set height
};