Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 66, средняя оценка - 4.94
patriarch
0 / 0 / 0
Регистрация: 04.03.2009
Сообщений: 17
#1

создание класса строк String - C++

17.09.2009, 15:01. Просмотров 8959. Ответов 5
Метки нет (Все метки)

Создать класс строка с функциями сложения(конкатенация),вычитания и сравнения строк.

Пожауйста помогите решить или объясните как сделать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2009, 15:01     создание класса строк String
Посмотрите здесь:

Обработка строк класса string - C++
Написать программу, считывающую строки, состоящую из слов, разделенных пробелами и знаками препинания, и выводящую в столбик в алфавитном...

Создание класса с использованием библиотеки String - C++
Подскажите как создать класс что бы в объекте использовался тип стринг

Использовать в задачах два класса строк: String и StringBuilder - C++
Здравстуйте, помогите пожалуйста написать эти 2 программы... 1). Составить программу, которая будет вводить строку в переменную String....

Сравнение двух строк (экземпляры класса string ) задействуя метод compare - C++
Здравствуйте, мне необходимо сравнить два экземпляра класса string, один из экземпляров вводится с клавиатуры, второй экземпляр берется из...

Создание string из части другого string - C++
Сегодня на олимпиаде задача была, которую я не решил, потому что не знал, как создать строку из части другой строки в C++. Например: нужно...

Создание экземпляр класса из другого класса - C++
Добрый день, форумчане. Помогите разобраться с такой плюсовенькой проблемой: есть 2 класса (назовем их A & B). Нужно в классе B запустить...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RNT
Автор FAQ
3134 / 354 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
17.09.2009, 15:24     создание класса строк String #2
Посмотрите здесь
Там объясняются классы на примере создания строкового класса
GAV_13
81 / 81 / 4
Регистрация: 14.09.2009
Сообщений: 252
17.09.2009, 15:27     создание класса строк String #3
C++
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
class String
{
public:
   // добавить строку в конец текущей строки
   void Concat(const String& str);
   int Sravn(const String& str1, const String& str2);
private:
     char* str;
     int length;
}; 
void String::Concat(const String& x)
{
     length += x.length;
     char* tmp = new char[length + 1];
     ::strcpy(tmp, str);
     ::strcat(tmp, x.str);
     delete [] str;
     str = tmp;
} 
int String::Sravn(const String& str1, const String& str2)
{
// возвращает:
//0 - str1 = str2
//1 - str1 < str2
//2 - str1 > str2
  char* cp1 = str1.str;
  char* cp2 = str2.str;
  while (true)
  {
    if (*cp1 < *cp2)
      return (1);
    else if (*cp1 > *cp2)
      return (2);
    else
    {
      cp1++;
      cp2++;  
      if ((*cp2 == 0)&&(*cp1 == 0))        // конец строки
        return (0); //строки равны
      else if ((*cp1 == 0)&&(*cp2 != 0))
        return (2);
      else if ((*cp2 == 0)&&(*cp1 != 0))
        return (1);
    }
  }
}
Что-то вроде... Что подразумевается под "вычитанием" строк не понял...
patriarch
0 / 0 / 0
Регистрация: 04.03.2009
Сообщений: 17
18.09.2009, 13:34  [ТС]     создание класса строк String #4
спасибо, а можете с точным заданием помочь?


Реализовать класс для хранения и безопасной работы со строками.

Хранимые данные: char *.

Реализовать:

конструктор по умолчанию (создаёт пустую строку); конструктор с параметром char *; конструктор копирования; деструктор (освобождает выделенную память); оператор присваивания; оператор приведения к const char *.
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,365
18.09.2009, 13:42     создание класса строк String #5
А что именно у тебя не получается?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2009, 17:15     создание класса строк String
Еще ссылки по теме:

Не видит класса string - C++
Вопрос чисто технический: в VisualStudio 2010 создал тестовый проект. В нём создал файл Class1.h, в нём текст: #pragma once ...

Использование класса String - C++
//Èñïîëüçîâàíèå êëàññà string. #include &lt;iostream&gt; #include &lt;string.h&gt; using namespace std; class String { public: ...

Наследование класса String - C++
Начал осваивать ООП С++ и решил в виде практики добавить в класс #include &lt;string&gt; добавить свою функцию переворачивания строки, точнее...

Реализация класса String - C++
Доброго времени суток! Пишу свой класс String (учусь). И возник вопрос по реализации. Имеется определение класса: class String ...

Перегрузка операторов класса String - C++
Срочно нужна помощь. Реализовать класс String для работы со строками символов. Перегрузить операторы «=», «+=» так, чтобы производилось...

НЕ создаётся подкласс класса string - C++
Почему, друзья? #include &lt;stdio.h&gt; #include &lt;string&gt; using namespace std; int main () { string stroka (&quot;stroka&quot;); class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
patriarch
0 / 0 / 0
Регистрация: 04.03.2009
Сообщений: 17
24.10.2009, 17:15  [ТС]     создание класса строк String #6
помогите с заданием на три

2. Список.

НОВЫЕ ПОНЯТИЯ: шаблон, понятие итератора.

Реализовать динамический список элементов типа T (T -- параметр).

Реализовать:

[на "тройку"] минимальный набор:

операции вставки элемента в начало и конец списка; удаления первого и последнего элемента; деструктор, освобождающий всю выделенную память; запретить использование конструктора копирования и оператора присваивания.

[на "четвёрку"] возможность перебора элементов:

класс-итератор, перебирающий элементы списка при вызове оператора ++

[на "пятёрку"] копирование списков:

корректно работающие конструктор копирования и оператор присваивания.
Yandex
Объявления
24.10.2009, 17:15     создание класса строк String
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru