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

迭代器模式和模板模式-創(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è)
欧美中文字幕在线精品| 99久久免费看国产精品| 亚洲激情视频久久精品| 在线不卡日本v二区到六区| 亚洲欧美综合精品久久成人| 欧美日韩国产精品一区二区三区| 成人午夜在线三级内射| 水蜜桃在线观看一区二区国产| 色日韩在线观看视频| 真人国产一级美女免费视频| 五月激情开心久久婷婷| 日韩一区二区亚洲精品| 五月天色婷婷亚洲综合一区| 就去吻色综合一二三四| 一区二区日韩欧美国产| 亚洲精品一级理论片对面| 国产在线精品不卡一区| 欧美日韩男女性生活视频| 午夜欧美日韩精品久久久| 国内精品人妻中文字幕| 亚洲国产一区二区三区三州| 女同毛片一区二区三区| 欧美一区二区三区一级| 亚洲综合激情一区二区| 国产日韩欧美亚洲中文| 日韩欧美亚洲一区二区三区| 国产精品视频不卡免费看| 开心五月婷婷丁香综合| 中午字幕人妻少妇久久| 亚洲熟女av一区少妇| 日日夜夜精品天天综合| 激情欧美一区二区三区精品| 亚洲av在线观看午夜| 色香蕉精品国产综合| 国产精品粉嫩在线播放| 欧美大尺度影片在线观看| 亚洲精品国产熟女久久| 日韩三级黄片在线观看| 黑人一区二区三区在线| 亚洲毛片一区二区在线| 日本av人妻在线观看|