Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

Пожауйста помогите решить или объясните как сделать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2009, 15:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос создание класса строк String (C++):

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

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

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

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

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

Массив объектов класса. Печать строк-членов класса. - C++
подскажите, как распечатать строки? #include "myString.h" #include <iostream> #define stop __asm nop void main() { ...

5
RNT
Автор FAQ
3135 / 355 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
17.09.2009, 15:24 #2
Посмотрите здесь
Там объясняются классы на примере создания строкового класса
1
GAV_13
81 / 81 / 4
Регистрация: 14.09.2009
Сообщений: 252
17.09.2009, 15:27 #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);
    }
  }
}
Что-то вроде... Что подразумевается под "вычитанием" строк не понял...
1
patriarch
0 / 0 / 0
Регистрация: 04.03.2009
Сообщений: 17
18.09.2009, 13:34  [ТС] #4
спасибо, а можете с точным заданием помочь?


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

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

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

конструктор по умолчанию (создаёт пустую строку); конструктор с параметром char *; конструктор копирования; деструктор (освобождает выделенную память); оператор присваивания; оператор приведения к const char *.
0
CheshireCat
Эксперт С++
2895 / 1244 / 78
Регистрация: 27.05.2008
Сообщений: 3,397
18.09.2009, 13:42 #5
А что именно у тебя не получается?
0
patriarch
0 / 0 / 0
Регистрация: 04.03.2009
Сообщений: 17
24.10.2009, 17:15  [ТС] #6
помогите с заданием на три

2. Список.

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

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

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

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

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

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

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

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

корректно работающие конструктор копирования и оператор присваивания.
0
24.10.2009, 17:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2009, 17:15
Привет! Вот еще темы с ответами:

Возможно ли создание объекта шаблонного класса в функции этого класса? - C++
Доброго времени суток, уважаемые форумчане :) Мне по лабам задали задание - реализовать шаблон контейнера (множество) с операциями...

Построение описания класса, создание и уничтожение объектов этого класса - C++
Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения...

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

Создание объекта класса с полем являющимся объектом другого класса - C++
Bill a; cin&gt;&gt;a;//тут я ввел с помощью перегруженного оператора ElementSpiska c; //поля у Spiska(Bill A,int,string,int) ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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