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

蝸牛的家
男兒當自強
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)  編輯 收藏 引用 所屬分類: 設計模式

<2011年4月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用鏈接

留言簿(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>
            小处雏高清一区二区三区| 国产在线精品一区二区夜色| 米奇777超碰欧美日韩亚洲| 欧美连裤袜在线视频| 国产亚洲欧美一区二区三区| 一本久久综合亚洲鲁鲁| 久久婷婷国产麻豆91天堂| 中文精品在线| 欧美精品1区2区| 亚洲国产成人精品女人久久久| 久久av二区| 亚洲少妇诱惑| 欧美日韩国产成人精品| 亚洲乱码国产乱码精品精可以看| 欧美成人一区二区在线| 美女视频黄 久久| 亚洲国产综合91精品麻豆| 欧美日韩国产欧| 亚洲国产激情| 欧美wwwwww| 久久夜色精品国产亚洲aⅴ| 国产一区二区三区在线观看视频| 久久www免费人成看片高清| 午夜精品在线看| 国产一区二区三区成人欧美日韩在线观看 | 欧美影院视频| 国产农村妇女毛片精品久久麻豆 | 欧美国产精品v| 午夜精品久久久久久久久| 欧美午夜不卡视频| 亚洲影视九九影院在线观看| 99av国产精品欲麻豆| 欧美日精品一区视频| 亚洲一区图片| 亚洲欧美日韩精品在线| 狠狠狠色丁香婷婷综合激情| 欧美日韩精品国产| 一区二区欧美激情| 正在播放欧美视频| 国产欧美亚洲日本| 理论片一区二区在线| 久久综合九九| 在线视频你懂得一区| 一区二区三区 在线观看视频| 国产精品免费看片| 久久综合导航| 欧美精品在线一区| 久久aⅴ国产欧美74aaa| 久久蜜桃精品| 亚洲天堂av高清| 久久激情视频| 亚洲天堂黄色| 久久精品国产视频| 一区二区三区高清视频在线观看| 亚洲欧美日韩一区二区在线 | 久久久久九九视频| 亚洲精品免费看| 亚洲欧美在线x视频| 亚洲精品视频啊美女在线直播| 亚洲伊人一本大道中文字幕| 亚洲国产精品福利| 午夜日韩在线观看| 99在线热播精品免费| 欧美一区二视频在线免费观看| 99精品热视频| 久热精品视频在线| 午夜亚洲激情| 欧美精品乱码久久久久久按摩| 久久精品视频一| 欧美日韩天堂| 欧美激情一区二区三区蜜桃视频 | 亚洲黄色一区| 欧美日韩四区| 亚洲国产片色| 亚洲福利视频网| 性亚洲最疯狂xxxx高清| 久久久久综合| 欧美影院一区| 欧美视频一区二| 亚洲高清av在线| 黄色成人av在线| 亚洲欧美美女| 亚洲一区二区在线看| 欧美精品免费观看二区| 免费中文字幕日韩欧美| 国产亚洲一区精品| 午夜视频在线观看一区二区| 亚洲在线一区二区三区| 欧美日韩性生活视频| 亚洲黄色免费| 久久久xxx| 巨乳诱惑日韩免费av| 精品动漫3d一区二区三区免费版 | 欧美大片一区二区| 国模私拍一区二区三区| 性欧美大战久久久久久久免费观看| 亚洲欧美一区二区激情| 国产精品高潮呻吟久久av黑人| 亚洲精品四区| 一本色道久久综合亚洲精品小说 | 欧美精品一区二区精品网| 一区二区日韩伦理片| 欧美国产亚洲精品久久久8v| 亚洲福利视频在线| 亚洲激情女人| 欧美不卡激情三级在线观看| 欧美国产高清| 亚洲精品一区二区三区婷婷月| 老司机成人在线视频| 亚洲成人中文| 亚洲人体偷拍| 欧美日韩国产色综合一二三四| 亚洲精选在线| 午夜激情亚洲| 国产农村妇女毛片精品久久麻豆| 久久国产99| 亚洲国产精品ⅴa在线观看 | 国产精品免费电影| 午夜精品福利视频| 久久久久久久久久久久久女国产乱| 国产色综合久久| 久久综合一区二区| 久久久噜噜噜久久人人看| 在线精品亚洲一区二区| 欧美男人的天堂| 午夜激情一区| 亚洲国产精品久久久久秋霞不卡| 亚洲一区3d动漫同人无遮挡| 欧美激情一级片一区二区| 亚洲三级色网| 国产精品日韩欧美一区二区三区| 午夜一级久久| 亚洲国产一区二区在线| 亚洲欧美一区二区在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 蜜臀a∨国产成人精品| 一区二区三区波多野结衣在线观看| 欧美一区二区三区在线播放| 樱花yy私人影院亚洲| 欧美视频三区在线播放| 欧美一区二区三区视频免费播放 | 久久黄色影院| 亚洲三级免费观看| 国产日韩欧美| 欧美日韩国产在线看| 久久国产精品99精品国产| 亚洲美女视频在线观看| 久久婷婷国产综合精品青草| 亚洲无线视频| 亚洲人成在线观看网站高清| 狠狠色2019综合网| 国产精品草草| 欧美二区在线观看| 久久精品99国产精品酒店日本| 99精品免费视频| 久久深夜福利免费观看| 亚洲一区二区av电影| 亚洲国产天堂久久国产91| 国产精品综合久久久| 欧美久久久久中文字幕| 老妇喷水一区二区三区| 欧美在线啊v一区| 99成人精品| 亚洲黄色在线观看| 亚洲国产精品福利| 欧美成人国产一区二区| 久久精品一区中文字幕| 亚洲欧美日韩国产| 亚洲少妇诱惑| 亚洲最新在线| av不卡在线看| 99精品视频免费全部在线| 激情另类综合| 国内精品久久久久久久影视蜜臀| 国产精品免费电影| 欧美日韩综合另类| 欧美视频你懂的| 欧美视频一区在线观看| 欧美日韩综合在线免费观看| 欧美色图五月天| 国产精品福利在线| 国产精品男gay被猛男狂揉视频| 国产精品扒开腿爽爽爽视频| 国产精品久久久久久久久果冻传媒 | 91久久中文字幕| 亚洲第一精品久久忘忧草社区| 狠狠色狠狠色综合日日91app| 国产综合色产| 在线免费高清一区二区三区| 1769国产精品| 亚洲欧洲一区二区在线播放| 亚洲激情成人| 亚洲美女精品一区| 亚洲最新视频在线播放| 亚洲少妇诱惑| 欧美一区二区三区视频在线观看| 欧美久久久久久蜜桃| 欧美人与禽性xxxxx杂性| 欧美视频中文字幕| 国产精品一区亚洲|