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

📄 astring.h

📁 清华大学计算机系数据结构课程教材《数据结构 用面向对象方法和C++描述》(殷人昆主编)的类库(书中程序的源代码)
💻 H
字号:
//字符串类
#ifndef ASTRING_H	
#define ASTRING_H
#include<string.h>
#include<iostream>
using namespace std;

const int defaultSize=200;     //字符串的最大长度
class AString {
	//对象: 零个或多个字符的一个有限序列。
private:
	char *ch;			      //串存放数组
	int curLength;		      //串的实际长度
	int maxSize;		      //存放数组的最大长度
public:
	AString(int sz = defaultSize);      //构造函数 	
	AString(const char *init );          //构造函数
	AString(const AString& ob);      //复制构造函数
	~AString() {delete [ ]ch; }	      //析构函数
	int Length() const { return curLength; }	 //求长度
	AString operator() (int pos, int len);   //求子串	
	bool operator == (AString& ob) const 
	{ return strcmp (ch, ob.ch) == 0; }
	//判串相等. 若串相等, 则函数返回true
	bool operator != (AString& ob) const 
	{ return strcmp (ch, ob.ch) != 0; }
	//判串不等. 若串不相等, 则函数返回true  
	bool operator ! () const { return curLength == 0; } 
	//判串空否。若串空, 则函数返回true
	AString& operator = (const AString& ob);      //串赋值
	AString& operator += (const AString& ob);	//串连接
	char& operator [ ] (int i);		//取第 i 个字符
	int Find (AString& pat, int k) const;     	//串匹配
	int fastFind(AString& pat, int k,  int next[]) const;
	void getNext(int next[]);
	friend ostream& operator<< (ostream& , AString &);
};



#endif

⌨️ 快捷键说明

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