title: About "Node,File,Directory,Link" and "Visitor"
body: <p>I have a question about the "head file" in c++,now I have a superclass "Node" and three subclass "File,Directory,File"</p>
  
  <pre><code>class Node {
  public:
      //declare common interface here
      void setName(string&amp; name);
      const string getName();
      //  const Protection&amp; getProtection();
  
      //  void setProtection(const Protection&amp;);
      void setCDate(char* cDate);
      char* getCDate();
      long size();
  
      void streamIn(istream&amp;);
      void streamOut(ostream&amp;);
  
      Node* getChild(int index);
      virtual void adopt(Node* child);
      virtual void orphan(Node* child);
  
      virtual void accept(Visitor&amp;) = 0;
      static void destroy(Node*);
  protected:
      Node();
      Node(const Node&amp;);
      virtual ~Node();
      virtual bool isWritable() = 0;
  private:
      string name;
      char* cDate;
  };
  class Directory : public Node {
  public:
      Directory();
      Directory(string path);
      //redeclare common interface here
      void setName(string&amp; name);
      string getName();
      void setCDate(char* cDate);
      char* getCDate();
      long size();
      Node* getChild(int index);
      virtual void adopt(Node* child);  //add children
      virtual void orphan(Node* child); //let the subnode be free
      virtual void accept(Visitor&amp;);
  private:
      list&lt;Node*&gt; _nodes;     //hold its subnode
      string&amp; name;
      char* cDate;
  };
  </code></pre>
  
  <p>The File and Link is the same as the class directory,here is the class visitor:</p>
  
  <pre><code>class Visitor{
  public:
      virtual ~Visitor() {}
      virtual void visitNode(Node*) = 0;
      virtual void visitFile(File*) = 0;
      virtual void visitDirectory(Directory*) = 0;
      virtual void visitLink(Link*) = 0;
  protected:
      Visitor();
      Visitor(const Visitor&amp;);
  };
  </code></pre>
  
  <p>each of them are in different head file, I want to know how can I import those head file</p>