📄 strings.cpp
字号:
class Strings {
char *p;
int size;
public:
Strings(char *str);
Strings(void);
Strings(const Strings &obj); // Copy constructor
~Strings(void) {delete [] p;}
friend ostream &operator<<(ostream &stream, Strings &obj);
friend istream &operator>>(istream &stream, Strings &obj);
Strings operator=(Strings &obj); // assign a Strings object
Strings operator=(char *s); // assign a quoted string
Strings operator+(Strings &obj); // concatenate a Strings object
Strings operator+(char *s); // concatenate a quoted string
friend Strings operator+(char *s, Strings &obj);
/* concatenates a quoted string with a Strings object */
Strings operator-(Strings &obj); // subtract a Strings object
Strings operator-(char *s); // subtract a quoted string
/* relational operators between Strings objects. Note that the operators could
just as easily return bool, rather than int */
int operator==(Strings &obj) {return !strcmp(p, obj.p);}
int operator!=(Strings &obj) {return strcmp(p, obj.p);}
int operator<(Strings &obj) {return strcmp(p, obj.p) < 0;}
int operator>(Strings &obj) {return strcmp(p, obj.p) > 0;}
int operator<=(Strings &obj) {return strcmp(p, obj.p) <= 0;}
int operator>=(Strings &obj) {return strcmp(p, obj.p) >= 0;}
/* relational operators between Strings object and a quoted character string.
Note that the operators could just as easily return bool, rather than int */
int operator==(char *s) {return !strcmp(p, s);}
int operator!=(char *s) {return strcmp(p, s);}
int operator<(char *s) {return strcmp(p, s) < 0;}
int operator>(char *s) {return strcmp(p, s) > 0;}
int operator<=(char *s) {return strcmp(p, s) <= 0;}
int operator>=(char *s) {return strcmp(p, s) >= 0;}
int strsize(void) {return strlen(p);} // return string size
void makestr(char *s) (strcpy(s, p);} // make quoted string from Strings object
operator char *(void) {return p;} // conversion to char
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -