0

ファイル/フォルダのリストを仮想ツリー/リストに保存したいと考えています。たぶん、ベクトルまたは類似のものです。誰でもこれを管理する方法を知っていますか? フォルダー (ノード) とファイルの 2 種類の項目があります。フォルダーのさまざまなサブレベルをエミュレートする必要があります。Treeview に似ている必要があります。すべてのノードが、サブノードなどを持つことができるサブノードを持つことができること。ファイルまたはフォルダー (およびそのサブフォルダーとファイル) を削除する可能性が必要です。

リンクやヒントが役立つかもしれません。

4

1 に答える 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;
}

削除と追加は、通常のメソッドstd::list addremoveメソッドで実行できます。

于 2013-10-05T16:51:20.487 に答える