Advertisement
Metalhead33

Data Structure

Dec 6th, 2016
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.78 KB | None | 0 0
  1. #include <list>
  2. class Directory;
  3. class Element
  4. {
  5. private:
  6.     Directory* parent;
  7. public:
  8.     virtual bool IsDirectory();
  9.     virtual bool IsFile();
  10.     Directory* GetParent() {return parent;}
  11.     void SetParent(Directory* setto) { parent = setto; }
  12. };
  13.  
  14. class Directory : public Element
  15. {
  16. private:
  17.     std::list<Element> children;
  18. public:
  19.     bool IsDirectory() { return true; }
  20.     bool IsFile() { return false; }
  21.     void AddChild(Element* child)
  22.     {
  23.         child->SetParent(this);
  24.         children.push_back(child);
  25.     }
  26. };
  27.  
  28. template <class T> class File : public Element
  29. {
  30. private:
  31.     T data;
  32. public:
  33.     bool IsDirectory() { return false; }
  34.     bool IsFile() { return true; }
  35.     T GetData() { return data; }
  36.     void SetData(T setto) { data = setto; }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement