#include "Node.h" #include #include typedef std::string stdStr; template class functor : public IFunc { void operator()(node* pNode, int level) { std::cout << "\n"; for(int i=0; ivalue(); } }; //template //class functorWithCallbacks : public IFunc //{ // void operator()(node* pNode, int level) // { // std::cout << "\n"; // for(int i=0; ivalue(); // } //}; void main() { node n1(1,"one"); node n2(2,"two"); node n3(3,"three"); node n4(4,"four"); node n5(5,"five"); node n6(6,"six"); node n7(7,"seven"); n1.add(&n2); n1.add(&n3); n3.add(&n4); n1.add(&n5); n4.add(&n6); n6.add(&n7); functor f; DFS(&n1,f); std::cout << "\n\n"; node* pNode1 = new node(1,"one"); node* pNode2 = new node(1,"two"); node* pNode3 = new node(1,"three"); node* pNode4 = new node(1,"four"); node* pNode5 = new node(1,"five"); node* pNode6 = new node(1,"six"); node* pNode7 = new node(1,"seven"); pNode1->add(pNode2); pNode1->add(pNode3); pNode3->add(pNode4); pNode1->add(pNode5); pNode4->add(pNode6); pNode6->add(pNode7); functor ft; DFS(pNode1,ft); std::cout << "\n\n"; }