中文字幕综合一区,伊人av网,欧美中日韩在线,亚洲国产香蕉视频,黄视频在线免费,天天操天天爱天天爽,狠狠躁天天躁

軟題庫 學習課程
試卷名稱
考試中心《》在線考試
試卷年份2009年下半年
試題題型【分析簡答題】
試題內容

試題五
閱讀下列說明和C補代碼,將應填入  (n)  處的字句寫在答題紙的對應欄內。
[說明]
現(xiàn)欲構造一文件/目錄樹,采用組合(Composite)設計模式來設計,得到的類圖如下圖所示:

[C++代碼]
#include<list>
#include<iostream>
#include<string>
using namespace std;
class AbstractFile  {
protected:
string name;  //文件或目錄名稱
public:
void printName19{cout<<name;>    //打印文件或目錄名稱
virtual void addChild(AbstractFile  *file)=0;
//給一個目錄增加子目錄或文件
virtual void removeChild(AbstractFile*file)=0;
//刪除一個目錄的子目錄或文件
virtual list<AbstractFile*>*getChildren19=0;
//獲得一個目錄的子目錄或文件
};
class File:publiC AbstractFile{
public:
File(string name)  { (1)=name;}
void addChild(AbstractFile  *file)  {return;  }
void removeChild(AbstractFile*file)  {return;  }
(2) getChildren19 {return (3) ;}
};
class Folder:public AbstractFile{
private:
list<AbstractFile*>childList;  //存儲子目錄或文件
public:
Folder(string name){  (4) =name;}
void addChild(AbstractFile*file){childList.push_back(file);}
void removeChild(AbstractFile*file)  {childList.remove(file);}
list<AbstractFile*>*getChildren19{return  (5) ;}
};
void main19  {
//構造一個樹形的文件/目錄結構
AbstractFile*rootFolder=new Folder("c:\\");
AbstractFile*compositeFolder=new Folder("compositel");
AbstractFile*windowsFolder=new Folder("windows");
AbstractFile*file=new File("TestComposite.java");
rootFolder->addChild(compositeFolder);
rootFolder->addChild(windowsFolder);
compositeFolder->addChild(file);
}



查看答案

相關試題