用C++的流对象(Strstream)来搭建一个队列

 

需要包含头文件strstream

队列模型

class Quene
{
private:
	char List[100];//队列长度
	strstream queueObj;//流对象
public:
	Quene()
	{
		queueObj = strstream(List, 100, ios::in || ios::out);
	}
	void Insert(char *Buf)
	{
		queueObj << Buf << endl;
	}
	char* GetEle()
	{
		char *Buf = new char;
		queueObj >> Buf;
		return Buf;
	}
};

测试代码

cout << "-------组1-----" << endl;
	Quene List1;
	char* T = new char;
	for (int i = 0; i < 3; i++)
	{
		cin >> T;
		List1.Insert(T);
	}
	cout << "---------------" << endl;
	for (int i = 0; i < 3; i++)
	{
		cout << List1.GetEle() << endl;
	}
	cout << "-----组2------" << endl;
	Quene List2;
	for (int i = 0; i < 3; i++)
	{
		cin >> T;
		List2.Insert(T);
	}
	cout << "---------------" << endl;
	for (int i = 0; i < 3; i++)
	{
		cout << List2.GetEle() << endl;
	}

测试效果

用C++的流对象(Strstream)来搭建一个队列_第1张图片

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

这两天看谭浩强的书偶尔看到了一道strStream的例题,就想这东西并不使用本地文件能不能用来试试动态队列,但是写了一下比正儿八经用指针搭的队列来说还是差挺多的。表现在数据成员过于单一,队长度不好控制(本来想用sizeof做的但是实际效果不太好),真正用还是老老实实用指针搭吧,不过这东西可能最大的好处就是搭建简单

你可能感兴趣的:(C++/MFC,队列,文件流)