【C++代码】

include include include using namespace std; class AbstractFile{ protected: string name; //文件或目录名称 public: void printName(){cout$amp; virtual void addChild(AbstractFile *file)=0; //给一个目录增加子目录或文件} virtual void removeChild(AbstractFile *file)=0; //删除一个目录的子目录或文件 virtual list *getChildren()=0; //获得一个目录的子目录或文件 }; class File:public AbstractFile{ public: File(string name) {(1) = name;} void addChild(AbstractFile *file){return;} void removeChild(AbstractFile *file){return;} (2) getChildren(){return (3) ;} }; class Folder :public AbstractFile{ private: list childList: //存储子目录或文件 public: Folder(string name){ (4) name;} void addChild(AbstractFile*file){childList.push_back(file);} void removeChild(AbstractFile*file){childList.remove(file);} list*getChildren(){return (5) ;} }; void main(){ //构造一个树形的文件/目录结构 AbstractFile *rootFolder=new Folder("c:\\ "); AbstractFile*compositeFolder=new Folder("composite"); AbstractFile *windowsFolder=new Folder("windows"); AbstractFile*file=new File("TestCompositejava"); rootFolder->addChild(compositeFolder); rootFolder->addChild(windowsFolder); compositeFolder->addChild(file); }

时间:2023-12-12 11:51:15

相似题目