青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

蝸牛的家
男兒當自強
posts - 48,  comments - 21,  trackbacks - 0
意圖:
提供一種方法順序訪問一個聚合對象中各個元素,而又不暴露該對象的內部表示
UML圖:

適用:
訪問一個聚合對象的內容而無需暴露它的內部表示
支持對聚合對象的多種遍歷
為遍歷不同的聚合結構提供一個統一的接口
//test.h
typedef int DATA;
//////////////////////////////////////////////////////////////////////////
class Iterater;

class Aggregate
{
public:
    
virtual ~Aggregate(){}
    
    
virtual int GetSize() = 0;
    
virtual DATA GetItem(int nIndex) = 0;
}
;

class Iterater
{
public:
    
virtual ~Iterater(){}
    
    
virtual void First() = 0;
    
virtual void Next() = 0;
    
virtual bool IsDone() = 0;
    
virtual DATA CurrentIter() = 0;

protected:
    Aggregate 
*m_pConCreateAggregate;
    
int m_nIndex;
}
;

class ConCreateAggregate : public Aggregate
{
public:
    ConCreateAggregate(
int nSize);
    
virtual ~ConCreateAggregate();

    
virtual int GetSize();
    
virtual DATA GetItem(int nIndex);
private:
    
int m_nSize;
    DATA 
*m_pData;
}
;

class ConCreateIterater : public Iterater
{
public:
    ConCreateIterater(Aggregate
* pAggregate);
    
virtual ~ConCreateIterater(){}
    
    
virtual void First();
    
virtual void Next();
    
virtual bool IsDone();
    
virtual DATA CurrentIter();
}
;

// test.cpp : Defines the entry point for the console application.
//

#include 
"stdafx.h"
#include 
<iostream>
#include 
"test.h"


//////////////////////////////////////////////////////////////////////////
ConCreateAggregate::ConCreateAggregate(int nSize) : m_nSize(nSize),m_pData(NULL)
{
    m_pData 
= new DATA[m_nSize];
    
for (int i=0; i<nSize; ++i)
    
{
        m_pData[i] 
= i;
    }

}


ConCreateAggregate::
~ConCreateAggregate()
{
    delete []m_pData;
    m_pData 
= NULL;
}


int ConCreateAggregate::GetSize()
{
    
return m_nSize;
}


DATA ConCreateAggregate::GetItem(
int nIndex)
{
    
//對外提供相同的接口,得到特定次序的值
    if (nIndex < m_nSize)
    
{
        
return m_pData[nIndex];
    }

    
else
    
{
        
return -1;
    }

}


ConCreateIterater::ConCreateIterater(Aggregate
* pAggregate)
{
    m_pConCreateAggregate 
= pAggregate;
    m_nIndex 
= 0;
}


void ConCreateIterater::First()
{
    m_nIndex 
= 0;
}


void ConCreateIterater::Next()
{
    
if (m_nIndex < m_pConCreateAggregate->GetSize())
    
{
        
++m_nIndex;
    }

}


bool ConCreateIterater::IsDone()
{
    
return m_nIndex == m_pConCreateAggregate->GetSize();
}


DATA ConCreateIterater::CurrentIter()
{
    
//間接引用此函數得到值
    return m_pConCreateAggregate->GetItem(m_nIndex);
}

//////////////////////////////////////////////////////////////////////////
int main(int argc, char* argv[])
{
    Aggregate
* pAggregate = new ConCreateAggregate(4);
    Iterater
* pIterater = new ConCreateIterater(pAggregate);
    
    
for (;false == pIterater->IsDone(); pIterater->Next())
    
{
        std::cout 
<< pIterater->CurrentIter()<<"\n";
    }


    system(
"pause");
    
return 0;
}


posted on 2008-08-23 01:18 黑色天使 閱讀(583) 評論(0)  編輯 收藏 引用 所屬分類: 設計模式

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

文章檔案

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美中文字幕在线播放| 蘑菇福利视频一区播放| 免费短视频成人日韩| 久久国产欧美日韩精品| 久久福利一区| 欧美福利小视频| 欧美激情1区2区3区| 亚洲精品裸体| 亚洲一区二区三区视频播放| 亚洲一品av免费观看| 欧美一区久久| 嫩草国产精品入口| 免费毛片一区二区三区久久久| 免费中文日韩| 国产精品美女久久久久久免费 | 性感少妇一区| 久久中文字幕一区| 欧美一区二区私人影院日本| 免费日韩av电影| 99国产精品一区| 久久av二区| 欧美日韩岛国| 韩日精品视频一区| aa亚洲婷婷| 久久综合久久综合久久综合| 亚洲国产精品免费| 香蕉久久夜色精品国产使用方法| 欧美成人黄色小视频| 国产日韩精品一区| 亚洲激情一区| 久久人人97超碰精品888| 一区二区三区久久| 欧美电影免费观看大全| 国模精品娜娜一二三区| 亚洲综合视频一区| 亚洲国产视频直播| 久久精品30| 国产精品久久久久91| 日韩五码在线| 欧美xx视频| 久久精品九九| 国产手机视频精品| 亚洲一区二区三区四区五区黄| 麻豆91精品| 久久精品一区四区| 国产一区二区三区在线播放免费观看 | 亚洲欧美日韩国产中文 | 一本色道久久综合亚洲精品高清| 久久夜色精品国产| 国产一区二区在线免费观看 | 国产精品亚洲综合色区韩国| 99精品热6080yy久久| 亚洲高清不卡av| 美女主播精品视频一二三四| 国产亚洲一级| 久久精品国产v日韩v亚洲| 一区二区欧美精品| 欧美日韩国产另类不卡| 一本色道久久88综合日韩精品| 亚洲欧洲日本在线| 香蕉久久夜色| 亚洲自拍高清| 国产在线不卡视频| 久久精品99无色码中文字幕| 午夜久久黄色| 国产主播一区二区三区| 麻豆精品视频在线观看| 裸体女人亚洲精品一区| 亚洲美女在线一区| 一区二区三区产品免费精品久久75| 欧美日韩999| 亚洲欧美日韩在线播放| 亚洲天堂av高清| 国产午夜精品理论片a级大结局| 小嫩嫩精品导航| 久久久久国产一区二区| 在线精品视频免费观看| 亚洲国产综合在线| 国产精品国产a级| 久久久久久97三级| 免费的成人av| 亚洲尤物视频在线| 久久久久久穴| av不卡在线| 香蕉av777xxx色综合一区| 亚洲国产精品国自产拍av秋霞 | 久久免费少妇高潮久久精品99| 在线视频观看日韩| 亚洲精品在线视频| 国产精品免费看片| 免费看的黄色欧美网站| 欧美二区在线看| 亚洲男女毛片无遮挡| 久久九九精品| 亚洲综合日韩| 欧美大片免费| 欧美精品色一区二区三区| 午夜精品网站| 亚洲第一黄色| 国产欧美一区二区三区久久| 欧美第十八页| 国产日产欧产精品推荐色 | 亚洲网站在线播放| 在线观看视频一区二区欧美日韩| 日韩视频免费在线观看| 国产主播一区| 亚洲私人影院在线观看| 日韩视频在线观看免费| 久久久噜噜噜久久人人看| 亚洲女人小视频在线观看| 欧美黑人在线观看| 美女诱惑黄网站一区| 国产精品中文字幕在线观看| 亚洲电影免费观看高清| 黄色成人av| 亚洲一区二区三区四区视频| 亚洲三级免费电影| 久久九九国产精品| 久久爱91午夜羞羞| 欧美视频一区二区三区| 欧美国产在线观看| 亚洲第一级黄色片| 欧美一区二区三区免费观看| 亚洲欧美国产精品桃花 | 亚洲人成毛片在线播放| 欧美在线啊v| 久久精品国亚洲| 国产精品久久久久aaaa| 亚洲三级免费电影| 亚洲精品永久免费| 欧美精品午夜| 亚洲开发第一视频在线播放| 亚洲人成在线观看网站高清| 久久久久久久尹人综合网亚洲| 久久久久久日产精品| 狠色狠色综合久久| 老司机免费视频久久| 欧美成人精品在线| 91久久香蕉国产日韩欧美9色| 女人香蕉久久**毛片精品| 美女脱光内衣内裤视频久久影院 | 亚洲精品在线免费观看视频| 亚洲精品免费观看| 欧美日韩成人一区二区| 亚洲免费不卡| 欧美一区二区三区免费大片| 国产欧美精品一区| 久久久久久久综合日本| 欧美**人妖| 日韩视频精品| 国产精品theporn88| 先锋影音网一区二区| 欧美阿v一级看视频| 亚洲免费精彩视频| 国产精品久久午夜夜伦鲁鲁| 亚洲综合色激情五月| 久久久久九九九九| 欧美91大片| 日韩视频一区二区三区在线播放免费观看| 99视频日韩| 国产精品日韩欧美| 麻豆免费精品视频| 亚洲裸体视频| 午夜精品久久久久久99热| 国产精品国产三级国产普通话99 | 国产欧美亚洲日本| 免费不卡在线视频| 在线视频精品一| 久久在线免费观看视频| 一本色道88久久加勒比精品| 国产精品香蕉在线观看| 久久人人爽人人爽| 夜夜夜久久久| 美女主播一区| 亚洲在线视频免费观看| 亚洲国产三级在线| 国产欧美日韩一级| 欧美日韩国产小视频| 久久久久久夜| 99国内精品久久| 欧美成人四级电影| 欧美在线电影| 亚洲丝袜av一区| 国内精品久久久久久影视8| 欧美精品一区二区精品网| 久久经典综合| 一区二区三区视频在线| 欧美激情亚洲自拍| 久久久久免费| 欧美在线电影| 亚洲欧美日韩人成在线播放| 亚洲日韩欧美视频一区| 国内一区二区在线视频观看| 国产精品日产欧美久久久久| 欧美人在线视频| 久久久久久一区二区三区| 小黄鸭精品aⅴ导航网站入口| 日韩视频免费看| 亚洲精品欧美激情| 亚洲国产你懂的|