Beispiel #1
0
int main()
{
    Aggregate* pAggregate = new ConcreateAggregate(4);
    /*
    Iterater* pIterater = new ConcreateIterater(pAggregate);

    for (; false == pIterater->IsDone(); pIterater->Next())
    {
        std::cout << pIterater->CurrentItem() << std::endl;


    }

    std::cout << pAggregate->GetItem(0)<< std::endl;
    std::cout << pAggregate->GetItem(1)<< std::endl;
    std::cout << pAggregate->GetItem(2)<< std::endl;
    std::cout << pAggregate->GetItem(3)<< std::endl;

    std::cout << pAggregate->GetSize()<< std::endl;
*/
    /*用法比较犀利*/
    Iterater* pIterater = pAggregate->CreateIterater(pAggregate);

    for (; false == pIterater->IsDone(); pIterater->Next())
    {
        std::cout << pIterater->CurrentItem() << std::endl;


    }

    std::cout << pAggregate->GetItem(0)<< std::endl;
    std::cout << pAggregate->GetItem(1)<< std::endl;
    std::cout << pAggregate->GetItem(2)<< std::endl;
    std::cout << pAggregate->GetItem(3)<< std::endl;

    std::cout << pAggregate->GetSize()<< std::endl;
    return 0;
}