亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++設計模式之建造者模式怎么實現

發布時間:2022-04-15 10:43:49 來源:億速云 閱讀:172 作者:iii 欄目:編程語言

今天小編給大家分享一下C++設計模式之建造者模式怎么實現的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

建造者模式與工廠模式最大的區別在與建造者模式更注重的是創建的一系列過程,如流水化作業,工廠模式強調的是區分不同的工廠和產品,而建造者模式更注重的統一不同產品在流水線上的工序,達到統一作業。

作用

建造者模式是將一個復雜對象和他的構造和組裝過程分離,這樣再重復創建不同對象時使用相同的流程進行建造。對于調用者來說,只需要知道產品的類型,而不需要知道具體的組裝過程。

類視圖

C++設計模式之建造者模式怎么實現

代碼實現

class Builder
  {
  public:
    virtual void SelectCpu()= 0;
    virtual void SelectMatherboard() = 0;
    virtual void SelectMem() = 0;
    virtual void SelectDisk() = 0;
    virtual void SelectPower() = 0;
    virtual void SelectShell() = 0;
  };
  //構造PC
  class PCBuilder : public Builder
  {
  public:
    void SelectCpu()     { cout<<"Select PC Cpu"<<endl; }
    void SelectMatherboard() { cout<<"Select PC Matherboard"<<endl; }
    void SelectMem()     { cout<<"Select PC Mem"<<endl; }
    void SelectDisk()    { cout<<"Select PC Disk"<<endl; }
    void SelectPower()    { cout<<"Select PC Power"<<endl; }
    void SelectShell()    { cout<<"Select PC Shell"<<endl; }
  };
  //構造Notebook
  class NoteBookBuilder : public Builder
  {
  public:
    void SelectCpu()     { cout<<"Select NoteBook Cpu"<<endl; }
    void SelectMatherboard() { cout<<"Select NoteBook Matherboard"<<endl; }
    void SelectMem()     { cout<<"Select NoteBook Mem"<<endl; }
    void SelectDisk()    { cout<<"Select NoteBook Disk"<<endl; }
    void SelectPower()    { cout<<"Select NoteBook Power"<<endl; }
    void SelectShell()    { cout<<"Select NoteBook Shell"<<endl; }
  };
  //構造的指揮官
  class Director
  {
  private:
    Builder *m_pBuilder;
  public:
    Director(Builder *builder) { m_pBuilder = builder; }
    void Create(){
    m_pBuilder->SelectCpu();
    m_pBuilder->SelectMatherboard();
    m_pBuilder->SelectMem();
    m_pBuilder->SelectDisk();
    m_pBuilder->SelectPower();
    m_pBuilder->SelectShell();
    }
  };
  
  //調用
  int main()
  {
    NoteBookBuilder thin;
    Director director(&thin);
    director.Create();
    return 0;
  }

以上就是“C++設計模式之建造者模式怎么實現”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

道真| 萝北县| 武陟县| 前郭尔| 苍溪县| 平利县| 巢湖市| 措勤县| 汾阳市| 谢通门县| 文昌市| 酒泉市| 冀州市| 壶关县| 宣城市| 乌鲁木齐县| 神池县| 桂东县| 潍坊市| 尤溪县| 济阳县| 宁武县| 长春市| 博客| 永善县| 海南省| 瑞昌市| 武乡县| 武宣县| 进贤县| 小金县| 滁州市| 宕昌县| 乌兰察布市| 和顺县| 郯城县| 乌鲁木齐市| 荆州市| 镇坪县| 满洲里市| 太康县|