第十九章 9标签类Label 简单

// 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;
}*/

  

原文地址:https://www.cnblogs.com/xiangxiaodong/p/2709103.html