欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

迭代器模式和模板模式-創(chuàng)新互聯(lián)

1、迭代器模式

新寧ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書(shū)合作)期待與您的合作!

 里面有一個(gè)對(duì)集合的引用;
 這個(gè)迭代器是對(duì)誰(shuí)創(chuàng)建的,這個(gè)迭代器就持有誰(shuí)(這個(gè)集合)的引用!

2、具體實(shí)現(xiàn)

 (1)、代碼如下

#include<iostream>
using namespace std;

#define SIZE    5

class MyIterator{ //抽象的迭代器
    public:
        virtual void First() = 0;
        virtual void Next() = 0;
        virtual bool isDone() = 0;
        virtual int CurrentItem() = 0;
    private:
};
 
class Abstract{  //抽象的集合類
    public:  
        virtual MyIterator *createIterator() = 0;
        virtual int getItem(int index) = 0;
        virtual int getSize() = 0;
    protected:
};

class ConIterator : public MyIterator{ // 具體的迭代器
    public:
        ConIterator(Abstract *ag){
            p = ag;
            currentIndex = 0;
        }
        virtual void First(){
            currentIndex = 0;   //讓當(dāng)前游標(biāo)回到位置0;
        }
        virtual void Next(){
            if(currentIndex < p->getSize())
            currentIndex++;
        }
        virtual bool isDone(){

            return currentIndex == p->getSize();
        }
        virtual int CurrentItem(){
            return p->getItem(currentIndex);
        }
    private:
        int currentIndex;
        Abstract *p;
};

class Jh : public Abstract{
    public:
        Jh(){    
            for(int i = 0; i < SIZE; i++){
                arr[i] = i+100;
            }
        }
        virtual MyIterator *createIterator(){
            return new ConIterator(this);   //讓迭代器持有一個(gè)集合的引用!!!
        }
        virtual int getItem(int index){
            return arr[index];
        }
        virtual int getSize(){
            return SIZE;
        }
    private:
        int arr[SIZE];
};


int main(void){
    Abstract *ag = new Jh;
    MyIterator *it = ag->createIterator();

    for(; !(it->isDone()); it->Next()){
        cout<<it->CurrentItem()<<" ";
    }
    cout<<endl;     
    delete ag;
    delete it;

    return 0;
}

 (2)、運(yùn)行結(jié)果

迭代器模式和模板模式

3、模板模式

 提前將業(yè)務(wù)邏輯做好了,就是同一種模板;

4、具體實(shí)現(xiàn)

 (1)、代碼實(shí)現(xiàn)

#include<iostream>
using namespace std;

class MakeCar{
    public:
        virtual void MakeHead() = 0;
        virtual void MakeBody() = 0;
        virtual void MakeTail() = 0;
    public:
        void Make(){  //模版函數(shù):提前將業(yè)務(wù)邏輯做好了;
            MakeTail();
            MakeBody();
            MakeHead();
        }
    private:
};

class Jeep : public MakeCar{
    public:
        virtual void MakeHead(){
            cout<<"Jeep head"<<endl;
        }   
        virtual void MakeBody(){
            cout<<"Jeep Body"<<endl;
        }   
        virtual void MakeTail(){
            cout<<"Jeep Tail"<<endl;
        }
    private:
};


class Bus : public MakeCar{
    public:
        virtual void MakeHead(){
            cout<<"Bus head"<<endl;
        }
        virtual void MakeBody(){
            cout<<"Bus Body"<<endl;
        }
        virtual void MakeTail(){
            cout<<"Bus Tail"<<endl;
        }
    private:
};
int main(void){
    MakeCar *car = new Bus;
    car->Make();
    delete car;

    MakeCar *car1 = new Jeep;
    car1->Make();
    delete car1;    

    return 0;
}

(2)、運(yùn)行結(jié)果

迭代器模式和模板模式

5、其余設(shè)計(jì)模式

 (1)、責(zé)任鏈模式:執(zhí)行完一個(gè)任務(wù)以后,自動(dòng)的執(zhí)行下一個(gè)任務(wù);

(2)、觀察者模式:定義對(duì)象間多種的依賴關(guān)系,使的每一個(gè)對(duì)象改變狀態(tài),則所有依賴的對(duì)象都會(huì)得到通知;一對(duì)多的關(guān)系!!!

 (3)、訪問(wèn)者模式:將對(duì)象的數(shù)據(jù)和行為進(jìn)行分離!!!
 主要作用于數(shù)據(jù)結(jié)構(gòu):將數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)結(jié)構(gòu)上的具體操作進(jìn)行分離!!!
 不同對(duì)象對(duì)同一個(gè)事務(wù)的不同操作!

 (4)解釋模式:根據(jù)用戶的輸入:程序自動(dòng)解釋為不同的動(dòng)作!!!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

標(biāo)題名稱:迭代器模式和模板模式-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://aaarwkj.com/article44/dopeee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、網(wǎng)站改版企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
国产日韩精品专区一区| 欧美一级特黄免费大片| 亚洲国产精品97视频| 少妇高潮惨叫久久麻豆传| 日韩中文字幕一区二区不卡| 一区二区三区都市激情| 欧美日韩国产在线91| 成人黄网站色大片免费观看| 国产日韩欧美一区综合| 久久久之久亚州精品露出| 五月婷婷六月丁香激情视频| 最美是你免费视频观看| 亚洲一区二区三区观看视频| 国欧美一区二区三区| 国产欧美日韩一级二级三级| 国产精品中文字幕第一页| 欧美日韩亚洲中文二区| 欧美日韩性性在线观看| 日本熟女俱乐部一区二区| 色哟哟网站在线观看入口| 欧美日韩综合精品无人区| 亚洲国产99在线精品一区| 精品国产一区av在线| 日本韩国欧美一区二区在线| 日韩欧美亚洲国产资源| 色香蕉精品国产综合| 亚洲国产精品一区二区三| 国产三级精品电影久久| 国产日韩精品一区二区三区在线| 在线观看亚洲激情av| 欧美日韩国产另类久久| 国产美女主播在线精品一区| 日本韩国欧美一区在线| 蜜臀一二区免费在线视频| 久久久国产精品9999综合| 天堂av一区二区三区| 国产日本韩国三级在线| 日韩欧美精品另类在线| 国产在线不卡中文字幕| 精品熟女少妇av免费久久野外 | 持续侵犯人妻中文字幕|