-
Notifications
You must be signed in to change notification settings - Fork 0
/
String.h
82 lines (66 loc) · 3.33 KB
/
String.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#pragma once
#include <iostream>
using std::ostream;
using std::istream;
class String
{
char* data_;
unsigned length_;
public:
String ();
String(char cr);
String(const char* cPtr);
String(const String& str);
int to_int();
bool empty();
unsigned len() const;//äëèíà
int index(char c) const;//èíäåêñ ýëåìåíòà
char& operator[] (unsigned j);
String substr(const unsigned first);
char operator[] (unsigned j) const;
String& operator= (const String& str);//ïðèñâàèâàíèå
String& operator+= (const String& str);//+=
void upcase(unsigned first, unsigned last);//ê âåðõíåìó
void downcase(unsigned first, unsigned last);//ê íèæíåìó
void togglecase(unsigned first, unsigned last);//òóäà ñþäà
String substr(const unsigned first, const unsigned last);
friend ostream& operator<< (ostream& so, const String& str);//âûâîä
friend istream& operator>> (istream& so, const String& str);//ââîä
friend String operator+ (const String& left, const String& right);//ñëîæåíèå
friend String operator+ (const String& left, char right);
friend String operator+ (const String& left, const char* right);
friend String operator+ (char left, const String& right);
friend String operator+ (const char* left, const String& right);
friend bool operator== (const String& left, const String& right);//ðàâíî
friend bool operator== (const String& left, char right);
friend bool operator== (const String& left, const char* right);
friend bool operator== (char left, const String& right);
friend bool operator== (const char* left, const String& right);
friend bool operator> (const String& left, const String& right);//áîëüøå
friend bool operator> (const String& left, char right);
friend bool operator> (const String& left, const char* right);
friend bool operator> (char left, const String& right);
friend bool operator> (const char* left, const String& right);
friend bool operator!= (const String& left, const String& right);//íå ðàâíî
friend bool operator!= (const String& left, char right);
friend bool operator!= (const String& left, const char* right);
friend bool operator!= (char left, const String& right);
friend bool operator!= (const char* left, const String& right);
friend bool operator< (const String& left, const String& right);//ìåíüøå
friend bool operator< (const String& left, char right);
friend bool operator< (const String& left, const char* right);
friend bool operator< (char left, const String& right);
friend bool operator< (const char* left, const String& right);
friend bool operator<= (const String& left, const String& right);//ìåíüøå ëèáî ðàâíî
friend bool operator<= (const String& left, char right);
friend bool operator<= (const String& left, const char* right);
friend bool operator<= (char left, const String& right);
friend bool operator<= (const char* left, const String& right);
friend bool operator>= (const String& left, const String& right);//áîëüøå ëèáî ðàâíî
friend bool operator>= (const String& left, char right);
friend bool operator>= (const String& left, const char* right);
friend bool operator>= (char left, const String& right);
friend bool operator>= (const char* left, const String& right);
friend class Book;
~String();
};