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 /*结束编译预处理*/