📄 string1.h
字号:
#include<stdio.h>
#include <iostream.h>
class string{
public:
string();
string(char);
string(unsigned);
string(const char*);
string(const string&);
~string();
friend class substring;
void operator=(const string &right);
void operator +=(const string&right);
friend string operator +(const string &left,
const string &right);
substring operator ()(unsigned start ,unsigned len);
istream&getline(istream&);
unsigned length()const;
char&operator [](unsigned index)const;
int compare(const string&)const;
operator const char*()const;
private:
unsigned buflen;
char* buffer;
};
class substring{
public:
substring (string &base,unsigned start,unsigned len);
substring (const substring &source);
void operator=(const string &)const;
operator string ()const ;
private:
string &base;
const unsigned start;
const unsigned len;
};
//
class stringMatcher{
public:
stringMatcher(string&t);
virtual int init();
int operator !()const;
virtual int operator++()=0;
substring operator()();
unsigned position ()const;
void position (unsigned p);
unsigned length();
protected:
string &text;
int pos;
unsigned patlen;
};
//
class KMPStrMatcher:public stringMatcher{
public:
KMPStrMatcher(const string&p,string&t);
~ KMPStrMatcher();
virtual int operator++();
private:
const string &pattern;
int *prefix;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -