Список виртуальных файловых систем

0

Я хочу сохранить список файлов/папок в виртуальном дереве/списке. Может быть, вектор или аналогичный. У кого-нибудь есть идея, как справиться с этим? У меня есть два типа элементов: папка (узел) и файл. Я должен эмулировать разные подпапки папок. Он должен быть похож на Treeview. То, что каждый узел может иметь subnode, который может иметь subnode и так fort. Мне нужно иметь возможность удалить файл или папку (и ее вложенную папку и файлы).

Может быть, ссылка или подсказка будут полезны.

Теги:

1 ответ

0
Лучший ответ

Вы можете использовать полиморфизм.

class FileSystemElement{
...
}

class Folder: public FileSystemElement{
...
public:
    std::list<FileSystemelement*> subfolders;
}

class File: public FileSystemElement{
...
}

а потом может быть что-то вроде этого:

class FileSystem{
public:
    FileSystem();
    ~FileSystem();
    void removeFile(std::string path);
    void addFile(std::string path, void* data, size_t size);
    std::list<File*> filesInFolder(std::string path);
    ...
private:
    std::list<FileSystemElement*> filesystem;
}

Например, удаление и добавление могут выполняться с помощью стандартных методов add и remove std::list

  • 1
    Подсказка: используйте составной шаблон проектирования и добавьте некоторые базовые функции в базовый класс. Таким образом, вы можете написать краткий код.
  • 0
    Извини, моя ошибка. отредактированный
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню