Библиотека String
1.0
Own String library. Лабораторная работа ФБИТ ИТМО
string
include
own
binstr.h
См. документацию.
1
/*!
2
\file
3
\brief Заголовочный файл с описанием класса "Битовая строка"
4
5
Данный файл содержит в себе определения производного
6
от "Строка" класса "Битовая строка"
7
*/
8
#ifndef OWN_STRING_BINSTR_H
9
#define OWN_STRING_BINSTR_H
10
11
#include "
string.h
"
12
13
namespace
own {
14
15
/*!
16
\brief Производный от "Строка" класс "Битовая строка"
17
18
Строки данного класса могут содержать только символы '0' или '1'. Если
19
в составе инициализирующей строки будут встречены любые символы, отличные
20
от допустимых, "Битовая строка" принимает нулевое значение.
21
Содержимое данных строк рассматривается как двоичное число.
22
Отрицательные числа хранятся в дополнительном коде.
23
*/
24
class
BinStr
:
public
String
25
{
26
public
:
27
/*!
28
Конструктор без параметров (длина строки = 0) или принимающий длину строки
29
\param[in] len Длина строки (по умолчанию 0)
30
*/
31
BinStr
(
int
= 0);
32
33
/*!
34
Конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым байтом)
35
\param[in] s Си-строка
36
*/
37
BinStr
(
const
char
*);
38
39
/*!
40
Конструктор копирования
41
\param[in] from Исходный объект
42
*/
43
BinStr
(
const
BinStr
&);
44
45
/*!
46
Деструктор
47
*/
48
~BinStr
();
49
50
//! Знак двочного числа
51
enum
SIGN
{
52
POSITIVE
= 1,
///< Положительное число
53
NEGATIVE
= 0
///< Отрицательное число
54
};
55
56
/*!
57
Получение знака двоичного числа
58
\return Знак числа SIGN::POSITIVE или SIGN::NEGATIVE
59
*/
60
int
getSign
()
const
;
61
62
/*!
63
Проверка на положительное число
64
\return Является ли число положительным
65
*/
66
bool
isPositive
()
const
;
67
68
/*!
69
Проверка на отрицательное число
70
\return Является ли число отрицательным
71
*/
72
bool
isNegative
()
const
;
73
74
/*!
75
Преобразование строки в беззнаковое число
76
\return Беззнаковое число
77
*/
78
int
getUnsignedNum
()
const
;
79
80
/*!
81
Преобразование строки в число
82
\return Число
83
*/
84
int
getNum
()
const
;
85
86
/*!
87
Оператор присваивания
88
*/
89
BinStr
&
operator=
(
const
BinStr
&);
90
91
/*!
92
Операция "исключающее или"
93
\return Сумма по модулю 2
94
*/
95
friend
BinStr
operator^
(
const
BinStr
&,
const
BinStr
&);
96
97
/*!
98
Операция "исключающее или"
99
\return Сумма по модулю 2
100
*/
101
friend
BinStr
operator^
(
const
BinStr
&,
int
);
102
103
/*!
104
Операция "исключающее или"
105
\return Сумма по модулю 2
106
*/
107
friend
BinStr
operator^
(
int
,
const
BinStr
&);
108
109
/*!
110
Проверка равенства строк как бинарных чисел
111
*/
112
friend
int
operator==
(
const
BinStr
&,
const
BinStr
&);
113
114
/*!
115
Проверка равенства бинарной строки и числа
116
*/
117
friend
int
operator==
(
const
BinStr
&,
int
);
118
119
/*!
120
Проверка равенства бинарной строки и числа
121
*/
122
friend
int
operator==
(
int
,
const
BinStr
&);
123
};
124
125
}
126
#endif // OWN_STRING_BINSTR_H
own::BinStr::operator==
friend int operator==(const BinStr &, const BinStr &)
Definition:
binstr.cpp:177
own::BinStr::isNegative
bool isNegative() const
Definition:
binstr.cpp:69
own::BinStr::getSign
int getSign() const
Definition:
binstr.cpp:56
own::BinStr::getNum
int getNum() const
Definition:
binstr.cpp:84
own::String
Базовый класс "Строка".
Definition:
string.h:17
string.h
Заголовочный файл с описанием класса "Строка".
own::BinStr::NEGATIVE
@ NEGATIVE
Отрицательное число
Definition:
binstr.h:53
own::BinStr::BinStr
BinStr(int=0)
Definition:
binstr.cpp:16
own::BinStr::POSITIVE
@ POSITIVE
Положительное число
Definition:
binstr.h:52
own::BinStr::isPositive
bool isPositive() const
Definition:
binstr.cpp:64
own::BinStr::getUnsignedNum
int getUnsignedNum() const
Definition:
binstr.cpp:74
own::BinStr::operator=
BinStr & operator=(const BinStr &)
Definition:
binstr.cpp:102
own::BinStr::operator^
friend BinStr operator^(const BinStr &, const BinStr &)
Definition:
binstr.cpp:114
own::BinStr::~BinStr
~BinStr()
Definition:
binstr.cpp:51
own::BinStr
Производный от "Строка" класс "Битовая строка".
Definition:
binstr.h:25
own::BinStr::SIGN
SIGN
Знак двочного числа
Definition:
binstr.h:51
Создано системой
1.8.20