⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listnode.h

📁 该程序用VC实现了一个小型文件压缩与解压缩功能的程序
💻 H
字号:
#ifndef LIST_NODE_CLASS
#define LIST_NODE_CLASS

#include <fstream.h>

template <class T>
class LinkedList;				

template <class T>
class HashTable;					

template <class T>
class ListNode
{
	friend class LinkedList<T>;	
	friend class HashTable<T>;
private:	
	ListNode<T>* link;

public:
	T data;

	ListNode(const T& item, ListNode<T>* next = NULL)
		:data(item), link(next)
	{}

	friend ostream&  operator << (ostream& os, 
		                         const ListNode<T>& node);
	
	friend ofstream& operator << (ofstream& ofs, 
		                          const ListNode<T>& node);

	friend ostream& operator << (ostream& os, 
								 const LinkedList<T>& list);

	friend ofstream& operator << (ofstream& ofs, 
								  const LinkedList<T>& list);
};

template <class T>
ostream& operator << (ostream& os, const ListNode<T>& node)
{
	os << setw(20) << "current node: " << &node << endl
	   << node.data
	   << setw(20) << "next node: " << node.link << endl;
	return os;
}

template <class T>
ofstream& operator << (ofstream& ofs, const ListNode<T>& node)
{
	ofs << node.data << endl;
	return ofs;
}

#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -