-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMyStrung.h
36 lines (35 loc) · 1.4 KB
/
MyStrung.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
#pragma once
#include <iostream>
using namespace std;
class MyString {
char* s;
int len;
public:
MyString();
MyString(const MyString&);
MyString(char*);
~MyString();
char& item(int);
MyString* copy();
void assign(const MyString&);
int cmp(const MyString&)const;
int equal(const MyString&)const;
int input(istream& Cin=cin);
void output(ostream& Cout=cout)const;
int length();
int length()const;
// Ïåðåãðóçêà îïåðàòîðîâ
MyString& operator=(const MyString&);// îïåðàòîð ïðèñâàèâàíèÿ (çàìåíÿåò assign())
operator char* ();// îïåðàòîð ïðåîáðàçîâàíèÿ òèïà èç MyString â char*
friend int operator == (const MyString&, const MyString&);// îïåðàòîð ñðàâíåíèÿ (çàìåíÿåò equal())
friend int operator != (const MyString&, const MyString&);
friend int operator <(const MyString&, const MyString&);
friend int operator <= (const MyString&, const MyString&);
friend int operator > (const MyString&, const MyString&);
friend int operator >= (const MyString&, const MyString&);
char& operator[](int i); // îïåðàòîð èíäåêñèðîâàíèÿ ñèìâîëîâ (çàìåíÿåò item())
MyString& operator+=(const MyString&);// îïåðàòîð äîáàâëåíèÿ â êîíåö (àíàëîã strcat()
friend MyString operator + (const MyString&, const MyString&);// ñîåäèíÿåò äâå ñòðîêè))
friend ostream& operator<<(ostream&, const MyString&); // îïåðàòîð âûâîäà (çàìåíÿåò output())
friend istream& operator>>(istream&, MyString&);// îïåðàòîð ââîäà (çàìåíÿåò input())
};