www.gusucode.com > 《C++高级语言程序设计》PPT及全书例子源代码-源码程序 > 《C++高级语言程序设计》PPT及全书例子源代码-源码程序/code/C++例题程序/第5章/s5_7/smain5_7.cpp

    //Download by http://www.NewXing.com

//定义链表的节点结构
class SNode
{

public:
	SNode(int value);
	~SNode(){ };
	
	//公有数据,方便后面取值。
	int m_value;		//节点值
	SNode *m_next;		//节点后继,指向下一个节点的指针
};

//定义链表的类模板
template <class Type>
class TList
{
public:
	TList();							//构造函数
	~TList();							//析构函数

	virtual bool Insert(Type value);	//在链表头部插入一个节点
	bool Delete(Type value);			//在链表中删除值为value的一个节点,
	bool Contain(Type value);			//判断链表中是否包含某节点
	void Print();						//输出链表节点的值。
protected:
	SNode *m_head;						//设置为只有头指针的单向链表。
};

//定义集合类模板——集合与链表采用同样的组织方式,
//但是链表和集合概念上有区别:集合中不允许有重复的节点。 
template<class Type>
class TSet : public TList<double>
{
public:
	bool Insert(Type value);	//在集合中重载插入方法,插入前判断节点是否已经存在。
};

#endif   /*结束编译预处理*/