?? string1.h
字號(hào):
#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;
};
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -