#include #include #include class node { public: node(const std::string &name); virtual ~node(); std::string get_name() const; void set_name(const std::string new_name); unsigned int get_nr_children() const; node *get_child(std::size_t i) const; void add_child(node *child); private: std::string name; std::vector children; };