Библиотека String  1.0
Own String library. Лабораторная работа ФБИТ ИТМО
string.cpp
См. документацию.
1 /*!
2 \file
3 \brief Реализация методов базового класса "Строка"
4 
5 Данный файл содержит в себе реализации методов
6 базового класса "Строка"
7 */
8 #include <iostream>
9 #include <cstring>
10 
11 #include "own/string.h"
12 
13 namespace own {
14 
15 String::String(int val) : 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 }
20 
21 String::String(const char* S) : 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 }
26 
27 String::String(char Ch) : 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 }
33 
34 String::String(const String& from) : 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 }
39 
41 {
42  delete[] pCh;
43  std::cout << "String::~String()" << std::endl;
44 }
45 
46 void String::show(void) const
47 {
48  std::cout << "pCh = " << pCh << std::endl;
49  std::cout << "len = " << len << std::endl;
50 }
51 
52 char* String::getStr() const
53 {
54  return pCh;
55 }
56 
57 int String::getLen() const
58 {
59  return len;
60 }
61 
62 char String::getChar(int index) const
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 }
70 
71 }
own::String
Базовый класс "Строка".
Definition: string.h:17
string.h
Заголовочный файл с описанием класса "Строка".
own::String::pCh
char * pCh
Адрес динамически выделенной памяти для размещения символов строки
Definition: string.h:20
own::String::getChar
char getChar(int) const
Definition: string.cpp:62
own::String::getLen
int getLen() const
Definition: string.cpp:57
own::String::show
void show() const
Definition: string.cpp:46
own::String::String
String(int=0)
Definition: string.cpp:15
own::String::len
int len
Длина строки
Definition: string.h:19
own::String::getStr
char * getStr() const
Definition: string.cpp:52
own::String::~String
~String()
Definition: string.cpp:40