0
我想在虛擬樹/列表中存儲文件/文件夾列表。也許是矢量或類似的。任何人都有一個想法如何管理這個?我有兩種類型的項目:文件夾(節點)和文件。我必須模擬不同的子級別的文件夾。 它必須與Treeview相似。每個節點都可以有一個可以有子節點和堡壘的子節點。我需要有可能刪除文件或文件夾(及其子文件夾&文件)。虛擬文件系統列表
也許一個鏈接或提示將有所幫助。
我想在虛擬樹/列表中存儲文件/文件夾列表。也許是矢量或類似的。任何人都有一個想法如何管理這個?我有兩種類型的項目:文件夾(節點)和文件。我必須模擬不同的子級別的文件夾。 它必須與Treeview相似。每個節點都可以有一個可以有子節點和堡壘的子節點。我需要有可能刪除文件或文件夾(及其子文件夾&文件)。虛擬文件系統列表
也許一個鏈接或提示將有所幫助。
你可以利用多態性。
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
add
和remove
方法
提示:使用複合設計模式並向基類添加一些基本功能。這樣你可以編寫簡潔的代碼。 –
對不起我的壞。編輯 – hamon
如果不考慮性能和嵌套路徑查找,這是一個易於實現的可行想法。 –