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

Класс Строка - C++

Восстановить пароль Регистрация
 
n1ko
3 / 3 / 3
Регистрация: 19.05.2013
Сообщений: 84
05.11.2013, 19:39     Класс Строка #1
Класс Строка должен включать данное типа строка символов - S и уметь обрабатывать параметр методов типа строка символов - S1. Для этого в нём должны быть реализованы следующие операции над строками.
1.Выполнение операции “больше” для двух строк.
2.Сокращение строки S на длину строки S1 слева.
3.Замена в строке всех прописных букв русского алфавита на строчные.
4.Замена в строке первых n символов на символ с наименьшим кодом из входящих в
строку.
Подскажите как переопределить операции=(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2013, 19:39     Класс Строка
Посмотрите здесь:

Класс. Строка. Чтение из файла. C++
Класс - строка C++
C++ Класс строка
Класс строка, класс текст, агрегация C++
Динамическая строка: класс и конструкторы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metaluga145
05.11.2013, 19:48
  #2

Не по теме:

Цитата Сообщение от n1ko Посмотреть сообщение
должен включать данное типа строка символов - S
что здесь сказано?

n1ko
3 / 3 / 3
Регистрация: 19.05.2013
Сообщений: 84
05.11.2013, 19:52  [ТС]     Класс Строка #3
в смысле?
класс должен иметь переменную типа строка
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
05.11.2013, 19:57     Класс Строка #4
n1ko,
n1ko
3 / 3 / 3
Регистрация: 19.05.2013
Сообщений: 84
05.11.2013, 20:04  [ТС]     Класс Строка #5
что не так
объясни нормально
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
05.11.2013, 20:10     Класс Строка #6

Не по теме:

n1ko, формулировка заданий убила задание не сложное, а потратил 10 минут на то,чтобы понять что тут написано) фраза "типа строка символов" - это масло масляное) а так как у меня час ночи, то уже сложно быстро сообразить что это значит


Что именно ты хочешь переопределять? Если операторы, то просто пишешь
C++
1
2
3
4
string operator+ (const string a)
{
    //делаешь то,что надо, и возвращаешь то,что надо
}
Другие функции перегружаются точно так же, просто не надо писать operator
n1ko
3 / 3 / 3
Регистрация: 19.05.2013
Сообщений: 84
05.11.2013, 20:13  [ТС]     Класс Строка #7
как делать перегрузку я знаю но вот как именно перегрузить эти операции я не знаю
мне помощь нужна именно в написании кода для перегрузки операторов
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
05.11.2013, 20:25     Класс Строка #8
1. ну сравнение "больше" обычно сравнивает или длину строк, или лексику, то есть символы сравниваются поочередно, если есть два разные символа, то больший тот, у которого больше код. Вроде бы реализация ясна
2. смотрим какая длинна строки S2 и тупо удаляем первые S2.length() элементов строки S1(используем метод erase и смотрим,чтобы не вылезли за пределы строки)
3. тупенько пройти по всей строке и,если находишь строчную букву, вычитаешь(или добавляешь, не помню, посмотри по ASKII таблице) из ее кода количество букв в алфавите.
4. ну опять таки, проходишь по строке, находишь элемент с наименьшим кодом, заменяешь первые n элементов на этот элемент.
"строка символов" - это string, если хочешь попариться, то можешь юзать wstring
n1ko
3 / 3 / 3
Регистрация: 19.05.2013
Сообщений: 84
05.11.2013, 20:32  [ТС]     Класс Строка #9
ты не мог бы хотя бы пару операций изобразить кодом

Добавлено через 48 секунд
я только начал учить с++ а тут такое
я не понимаю многого

Добавлено через 2 минуты
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
#include <conio.h>
#include <iostream>
 
using namespace std;
 
class Stroki
{
protected:
    char *s;
public:
    Stroki(char*s1)
    {
        s=new char [strlen(s1)+1];
        strcpy(s1,s);
    }
    Stroki()
    {
        s=new char [strlen(s1)+1];
        cout<<"Enter the text";
        cin>>s;
    }
Stroki & operator =(Stroki & s1)
{
    if([strlen(s1)>[strlen(this)]) return s1;//cout<<"1-st text";
    else return this //cout<<"2-nd text";
}
};
void main()
{
    Stroki a("gvjkjnlk"), b("tyuibtyh");
    a=b;
    getch();
}
посмотри и скажи что не так
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
05.11.2013, 20:40     Класс Строка #10
n1ko, изображу 2, с учетом того,что ты знаешь как создавать класс
C++
1
2
3
4
5
6
7
void operator- (const string S1)
{
    if (S1.length()>=S.length())
        S="";
    else
            S.erase(0, S1.length());
}
как-то так)
n1ko
3 / 3 / 3
Регистрация: 19.05.2013
Сообщений: 84
05.11.2013, 20:45  [ТС]     Класс Строка #11
напиши с началом
класс и т.д.

Добавлено через 25 секунд
что в моем коде можно оставить?
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
05.11.2013, 20:46     Класс Строка #12
Цитата Сообщение от n1ko Посмотреть сообщение
посмотри и скажи что не так
сказано же, что тип - строка, чего выделываться с массивами? строка-это string )
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2013, 20:57     Класс Строка
Еще ссылки по теме:

C++ Написать класс строка и производный класс, ее шифрующий
Класс Строка C++
C++ Класс строка и оператор+

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

Или воспользуйтесь поиском по форуму:
n1ko
3 / 3 / 3
Регистрация: 19.05.2013
Сообщений: 84
05.11.2013, 20:57  [ТС]     Класс Строка #13
я же говорю я только учу язык а мне вот такое задание дали
если бы я знал как это сделать я бы суда не обращался

Добавлено через 9 минут
напиши мне часть а остальное я допишу сам=(
Yandex
Объявления
05.11.2013, 20:57     Класс Строка
Ответ Создать тему
Опции темы

Текущее время: 03:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru