// 9标签类Label /* //我们知道一个链表由标签,头节点,中间节点和尾节点组成,标签中保存着头节点的地址,头节点的next指针指向中间节点,中间节点的next指针指向了尾节点,因为我们可以将标签做成一个label类,该类负责创建和维护头节点 #include <iostream> using namespace std; //定认枚举形常量 enum{small,large, same}; class Date { public: Date(int i):date(i){} ~Date(){} int compare(const Date&); private: int date; }; int Date::compare(const Date& two) { if(date < two.date) return small; if(date > two.date){ return large; }else{ return same; } } //链表类 class Node { public: Node(){} virtual ~Node(){} virtual Node* insert(Date *one) = 0; //只有拥有一个线纯虚函数的类就是抽像类,所以说Node类是一个抽像类 virtual void print() = 0; private: }; //Label类 class Label { public: Label(); ~Label(){ delete head;} //删除头节点 void insert(Date*one); void printall(){ head->print(); } private: HeadNode *head; //头节点类指向头节点地址,该类我们后面定义 //这个标签包含了一个指向头节点的指针,我们可以通过这个指针找到头节点,HeadNode代表头节点类,该类我们稍候定义,head则是指向头节点的指针,我们用这个指针保存头节点对像的地址,那么就可以通过该地址找到头节点 }; Label::Label() { head = new HeadNode; } //插入函数 void Label::insert(Date *one) { head->insert(one); //插入到头节点的插入函数 } //该类中完成4件事, //1 创建头节点,并用一个指针指向它 //2 利用头节点的插入函数将数据插入到头节点 //3 利用头节的输出函数输出该节点保存的数据 //4 删除头节点 int main() { return 0; }*/