zoukankan      html  css  js  c++  java
  • 迭代器模式(C++)

    #include <iostream>
    #include <string>
    #define CAP 100
    using namespace std;
    
    class group
    {
    public:
        group():pc(0){}
        virtual ~group(){}
        friend class Iterator;
        void push(string m)
        {
            if (pc<CAP)
                vec[pc++]=m;
        }
        string pop()
        {
            if (!isempty())
                return vec[--pc];
        }
        bool isempty()
        {
            if (pc<=0)
            {
                return true;
            }
            return false;
        }
    
    private:
        int pc;
        string vec[CAP];
    };
    
    class absIterator
    {
    public:
        absIterator(){}
        virtual ~absIterator(){}
        virtual string operator++()=0;
        virtual string operator++(int)=0;
    };
    
    class Iterator : public absIterator
    {
    public:
        Iterator(group *gup):index(0),p_gup(gup){}
        virtual ~Iterator(){}
        string operator++()
        {
            return p_gup->vec[++index];
        }
    
        string operator++(int)
        {
            return p_gup->vec[index++];
        }
    
    private:
        group* p_gup;
        int index;
    };
    
    int main()
    {
        group *gp=new group;
        gp->push("sadfs");
        gp->push("werwer");
        gp->push("28934759");
    
        Iterator* it=new Iterator(gp);
        for (int i=0;i<3;i++)
        {
            cout<<(*it)++<<endl;
        }
        delete it;
        delete gp;
    
        system("pause");
        return 0;
    }
  • 相关阅读:
    Odoo权限设置机制
    Odoo10配置文件
    Odoo10——self的使用
    Odoo10 启动选项
    ubuntu安装nginx
    pycharm快捷键一览
    前端 -- HTML
    前端 -- CSS
    前端 -- JavaScript
    前端 -- BOM和DOM
  • 原文地址:https://www.cnblogs.com/tiandsp/p/2567402.html
Copyright © 2011-2022 走看看