nodelist.h

来自「一个组合模式的例子」· C头文件 代码 · 共 58 行

H
58
字号
#ifndef _NODELIST_H_
#define _NODELIST_H_

#include <iostream>

#define DEFAULT_LIST_CAPACITY 50

typedef struct _NodeInfo
{
  char name[32];
  char ip[16];
  int channel;
}NodeInfo;

template <class Item>
class List
{
  public:
    List (long size = DEFAULT_LIST_CAPACITY);
    ~List(void);
  
    long Count () const;
    Item Get(long index) const;
    long Add(Item item);
    void Remove(Item item);
  private:
    Item *Items;
    long count;
};

template <class Item>
class Iterator
{
  public:
    //Iterator(const List<Item> *alist);
    virtual void First() = 0;
    virtual void Next() = 0;
    virtual bool IsDone() const = 0;
    virtual Item CurrentItem() const = 0;

};

template <class Item>
class ListIterator : public Iterator<Item>
{
  public:
    ListIterator(const List<Item> *alist);
    virtual void First();
    virtual void Next();
    virtual bool IsDone() const;
    virtual Item CurrentItem() const;
  private:
    const List<Item> *_list;
    long _current;
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?