Библиотека String  1.0
Own String library. Лабораторная работа ФБИТ ИТМО
Открытые члены | Защищенные данные | Полный список членов класса
Класс own::String

Базовый класс "Строка". Подробнее...

#include <string.h>

Граф наследования:own::String:
own::BinStr own::IdentStr

Открытые члены

 String (int=0)
 
 String (const char *)
 
 String (char)
 
 String (const String &)
 
 ~String ()
 
char * getStr () const
 
int getLen () const
 
void show () const
 
char getChar (int) const
 

Защищенные данные

int len
 Длина строки
 
char * pCh
 Адрес динамически выделенной памяти для размещения символов строки
 

Подробное описание

Базовый класс "Строка".

См. определение в файле string.h строка 16

Конструктор(ы)

◆ String() [1/4]

own::String::String ( int  val = 0)

Конструктор без параметров (длина строки = 0) или принимающий длину строки

Аргументы
[in]lenДлина строки (по умолчанию 0)

См. определение в файле string.cpp строка 15

15  : len(val), pCh(new char[len + 1])
16 {
17  memset(pCh, '\0', len+1);
18  std::cout << "String::String(int val) : len = " << len << std::endl;
19 }

◆ String() [2/4]

own::String::String ( const char *  S)

Конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым байтом)

Аргументы
[in]sСи-строка

См. определение в файле string.cpp строка 21

21  : len(strlen(S)), pCh(new char[len + 1])
22 {
23  strcpy(pCh, S);
24  std::cout << "String::String(const char* S) : len(strlen(S))" << std::endl;
25 }

◆ String() [3/4]

own::String::String ( char  Ch)

Конструктор, принимающий в качестве параметра символ (char)

Аргументы
[in]chСимвол

См. определение в файле string.cpp строка 27

27  : len(1), pCh(new char[len + 1])
28 {
29  pCh[0] = Ch;
30  pCh[1] = '\0';
31  std::cout << "String::String(char Ch) : len(2)" << std::endl;
32 }

◆ String() [4/4]

own::String::String ( const String from)

Конструктор копирования

Аргументы
[in]fromИсходный объект

См. определение в файле string.cpp строка 34

34  : len(from.len), pCh(new char[from.len + 1])
35 {
36  strcpy(pCh, from.pCh);
37  std::cout << "String::String(const String& from)" << std::endl;
38 }

◆ ~String()

own::String::~String ( )

Деструктор

См. определение в файле string.cpp строка 40

41 {
42  delete[] pCh;
43  std::cout << "String::~String()" << std::endl;
44 }

Методы

◆ getChar()

char own::String::getChar ( int  index) const

Получение символа из заданной позиции

Аргументы
[in]indexПозиция символа
Возвращает
Символ

См. определение в файле string.cpp строка 62

63 {
64  if (index >= 0 && index < len) {
65  std::cout << "char String::getChar(int index)" << std::endl;
66  return pCh[index];
67  }
68  return '\0';
69 }

◆ getLen()

int own::String::getLen ( ) const

Получение длины строки

Возвращает
Длина строки

См. определение в файле string.cpp строка 57

58 {
59  return len;
60 }

◆ getStr()

char * own::String::getStr ( ) const

Получение Си-строки

Возвращает
Си-строка

См. определение в файле string.cpp строка 52

53 {
54  return pCh;
55 }

◆ show()

void own::String::show ( void  ) const

Вывод в консоль значений переменных класса

См. определение в файле string.cpp строка 46

47 {
48  std::cout << "pCh = " << pCh << std::endl;
49  std::cout << "len = " << len << std::endl;
50 }

Объявления и описания членов классов находятся в файлах:
own::String::pCh
char * pCh
Адрес динамически выделенной памяти для размещения символов строки
Definition: string.h:20
own::String::len
int len
Длина строки
Definition: string.h:19