91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

c語言怎么實現建造小人

發布時間:2021-12-08 14:23:31 來源:億速云 閱讀:130 作者:iii 欄目:大數據

本篇內容介紹了“c語言怎么實現建造小人”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

     建造者模式(Builder Pattern):將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。建造者模式是一種對象創建型模式

     建造者模式的定義將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示(DP)。《大話設計模式》舉了一個很好的例子——建造小人,一共需建造6個部分,頭部、身體、左右手、左右腳。與工廠模式不同,建造者模式是在導向者的控制下一步一步構造產品的。建造小人就是在控制下一步步構造出來的。創建者模式可以能更精細的控制構建過程,從而能更精細的控制所得產品的內部結構。

          對于客戶來說,只需知道導向者就可以了,通過導向者,客戶就能構造復雜的對象,而不需要知道具體的構造過程。下面給出小人例子的代碼實現。

[cpp] view plain copy print?
class Builder    
{  
public:  
    virtual void BuildHead() {}  
    virtual void BuildBody() {}  
    virtual void BuildLeftArm(){}  
    virtual void BuildRightArm() {}  
    virtual void BuildLeftLeg() {}  
    virtual void BuildRightLeg() {}  
};  
//構造瘦人  
class ThinBuilder : public Builder  
{  
public:  
    void BuildHead() { cout<<"build thin head"<<endl; }  
    void BuildBody() { cout<<"build thin body"<<endl; }  
    void BuildLeftArm() { cout<<"build thin leftarm"<<endl; }  
    void BuildRightArm() { cout<<"build thin rightarm"<<endl; }  
    void BuildLeftLeg() { cout<<"build thin leftleg"<<endl; }  
    void BuildRightLeg() { cout<<"build thin rightleg"<<endl; }  
};  
//構造胖人  
class FatBuilder : public Builder  
{  
public:  
    void BuildHead() { cout<<"build fat body"<<endl; }  
    void BuildBody() { cout<<"build fat head"<<endl; }  
    void BuildLeftArm() { cout<<"build fat leftarm"<<endl; }  
    void BuildRightArm() { cout<<"build fat rightarm"<<endl; }  
    void BuildLeftLeg() { cout<<"build fat leftleg"<<endl; }  
    void BuildRightLeg() { cout<<"build fat rightleg"<<endl; }  
};  
//構造的指揮官  
class Director    
{  
private:  
    Builder *m_pBuilder;  
public:  
    Director(Builder *builder) 
	{ 
		m_pBuilder = builder; 
	}  
    void Create()
	{  
        m_pBuilder->BuildHead();  
        m_pBuilder->BuildBody();  
        m_pBuilder->BuildLeftArm();  
        m_pBuilder->BuildRightArm();  
        m_pBuilder->BuildLeftLeg();  
        m_pBuilder->BuildRightLeg();  
    }  
};
  
//客戶的使用方式:
int main()  
{  
    FatBuilder Fat;  
    Director director(&Fat);  
    director.Create();  
    return 0;  
}

“c語言怎么實現建造小人”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

石首市| 青岛市| 兴隆县| 嘉黎县| 和龙市| 怀仁县| 信丰县| 灵丘县| 尚志市| 靖州| 定安县| 安国市| 米易县| 黑山县| 西安市| 扬中市| 肃北| 安国市| 都昌县| 城固县| 焉耆| 马山县| 横山县| 五寨县| 通州市| 永兴县| 平远县| 陇川县| 志丹县| 夹江县| 临沂市| 永泰县| 万荣县| 武定县| 隆安县| 尚志市| 和田市| 泸溪县| 阳泉市| 剑阁县| 曲阳县|