Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <list>
- class Directory;
- class Element
- {
- private:
- Directory* parent;
- public:
- virtual bool IsDirectory();
- virtual bool IsFile();
- Directory* GetParent() {return parent;}
- void SetParent(Directory* setto) { parent = setto; }
- };
- class Directory : public Element
- {
- private:
- std::list<Element> children;
- public:
- bool IsDirectory() { return true; }
- bool IsFile() { return false; }
- void AddChild(Element* child)
- {
- child->SetParent(this);
- children.push_back(child);
- }
- };
- template <class T> class File : public Element
- {
- private:
- T data;
- public:
- bool IsDirectory() { return false; }
- bool IsFile() { return true; }
- T GetData() { return data; }
- void SetData(T setto) { data = setto; }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement