#include #include #include #include "Node.h" using namespace std; class ValueNode: public Node { public: ValueNode(void){node_type = VALUE_NODE;value = "empty";}; int node_type; string value; //tra due tag virtual void printNode(); virtual int qualifyNode(); void setValue(ValueNode vn){value = vn.value;}; void setValue(const char* cvn){value = cvn;}; }; void ValueNode::printNode() { cout<<"ValueNode: Node type is "<::iterator it; for(it = own_slot.Sons.begin(); it!=own_slot.Sons.end(); ++it) (*it)->printNode(); } int SlotNode::qualifyNode() {return node_type;} class SlotsNode: public Node { public: SlotsNode(void){node_type = SLOTS_NODE;}; int node_type; NodeGroup slot; void addSlot(SlotNode* sn); virtual void printNode(); virtual int qualifyNode(); }; void SlotsNode::addSlot(SlotNode* sn) { slot.Sons.push_back(new SlotNode); SlotNode* slp = (SlotNode*) slot.Sons.front(); list::iterator it; for(it = sn->own_slot.Sons.begin(); it!=sn->own_slot.Sons.end(); ++it) slp->addOwnSlot(((OwnSlotNode*)(*it))); } void SlotsNode::printNode() { cout<<"SlotsNode: Node type is "<::iterator it; for(it = slot.Sons.begin(); it!=slot.Sons.end(); ++it) (*it)->printNode(); } int SlotsNode::qualifyNode() {return node_type;}