This repository was archived by the owner on Jan 8, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStroka.cpp
More file actions
61 lines (60 loc) · 1.27 KB
/
Stroka.cpp
File metadata and controls
61 lines (60 loc) · 1.27 KB
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
#include "Stroka.h"
Stroka::Stroka(char* in_str)
{
strcpy_s(str, in_str);
}
Stroka::Stroka(const Stroka& in_str)
{
strcpy_s(str, in_str.str);
}
Stroka& Stroka::operator=(const Stroka& in_str)
{
strcpy_s(str, in_str.str);
return *this;
}
int Stroka::operator==(const Stroka& in_str)
{
return strcmp(str, in_str.str);
}
Stroka& Stroka::operator+(const Stroka& in_str)
{
strcat_s(str, in_str.str);
return *this;
}
int Stroka::dlina()
{
return strlen(str);
}
/// <summary>
/// Ñ÷èòûâàíèå char[] ñ ïîìîùüþ getline íå îñòàíàâëèâàåòñÿ íà ïðîáåëàõ, â îòëè÷èå îò >>
/// </summary>
void Stroka::vvod()
{
std::cin.getline(str, 80);
}
void Stroka::vyvod()
{
std::cout << str;
}
/// <summary>
/// Ïåðåãðóæåííûé îïåðàòîð äîáàâëåíèÿ â ïîòîê âûâîäà
/// </summary>
/// <param name="stream">Ïîòîê âûâîäà</param>
/// <param name="value">Ñòðîêà äëÿ âûâîäà â ïîòîê</param>
/// <returns>ïàðàìåòð stream</returns>
ostream& operator<<(ostream& stream, Stroka& value)
{
value.vyvod();
return stream;
}
/// <summary>
/// Ïåðåãðóæåííûé îïåðàòîð ñ÷èòûâàíèÿ èç ïîòîê ââîäà
/// </summary>
/// <param name="stream">Ïîòîê ââîäà</param>
/// <param name="value">Ñòðîêà äëÿ ââîäà èç ïîòîêà</param>
/// <returns>ïàðàìåòð stream</returns>
istream& operator>>(istream& stream, Stroka& value)
{
value.vvod();
return stream;
}