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 + -
显示快捷键?