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

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

Войти
Регистрация
Восстановить пароль
 
Vladislavv
0 / 0 / 0
Регистрация: 30.07.2014
Сообщений: 98
#1

класс объединение строк - C++

25.11.2014, 19:41. Просмотров 139. Ответов 0
Метки нет (Все метки)

Добавить в строковый класс функцию, которая создает строку, содержащую общие символы для двух строк, перегружается оператор *
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
#include <cstring>
using namespace std;
 
class _string{
char *_str;
int _len;
public:
    operator char*() { return _str; }
 
    const char*GetStr()const 
    { 
        cout<<_str;
        return _str;        
    }
        _string():_str(NULL), _len(0){}
 
    _string(char *str){
        _len=strlen(str);
        _str=new char[_len+1];
        strcpy (_str, str);
    }
 
    ~_string(){
    delete[]_str;
    }
 
    _string (const _string& a):_len(a._len){
        _len=a._len;
        _str=new char[a._len+1];
        strcpy(_str,a._str);
    }
 
    _string& operator=(const _string& a){
        if(this==&a)
            return *this;
        if(_len!=a._len||_len==0){
            delete[]_str;
            _len=a._len;
            _str=new char [_len+1];
            strcpy (_str, a._str);
             return *this; 
        }
            
    }
 
    _string operator*(_string &a){
        _string t;
        t._len=this->_len+a._len;
        t._str=new char[t._len+1];
        strcpy(t._str,strpbrk(this->_str, a._str));
        while (strpbrk(this->_str, a._str)!=NULL)
        strcat(t._str,strpbrk(this->_str, a._str));
        /*t._len=_len+a._len;
        t._str=new char[t._len+1];
        strcpy(t._str, _str);
        strcat(t._str,a._str);
        */  return t;
    }
};
 
void main(){
_string a,b,c;
a="ya";
b="da";
c=a*b;
c.GetStr();
}
возникло 2 вопроса:
1) почему игнорируется return
C++
1
2
3
4
5
const char*GetStr()const 
    { 
        cout<<_str;
        return _str;        
    }
2) как правильно оформить функцию, которая создает строку, содержащую общие символы для двух строк
C++
1
2
3
4
5
6
7
8
_string operator*(_string &a){
        _string t;
        t._len=this->_len+a._len;
        t._str=new char[t._len+1];
        strcpy(t._str,strpbrk(this->_str, a._str));
        while (strpbrk(this->_str, a._str)!=NULL)
        strcat(t._str,strpbrk(this->_str, a._str));
        return t;
этот вариант пишет: "инструкция по адресу не может обратиться к памяти по адресу. память не может быть "written""
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2014, 19:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос класс объединение строк (C++):

Объединение строк С++ - C++
Заданы две строки. Построить новую строку, состоящую из символов, которые входят как в одну, так и в другую строку. Вот пробовал...

Объединение строк - C++
помогите написать функцию объединения двух строк в одну (вторая присваивается к концу первой). Объединить две строки, затем еще две.

Объединение строк - C++
Для работы со строками можно придумать множество полезных методов (подумайте, какие методы пригодились бы вам и чего вам не хватает для их...

Объединение строк в тексте - C++
Прошу исправить мой код, суть состоит в том, чтобы в введённом тексте найти такую последовательность слов, в которой конечная буква...

Объединение строк в строковом классе - C++
Добавить в строковый класс функцию, которая создает строку, содержащую общие символы для двух строк, перегружается оператор * ...

Объединение строк как массивов - C++
Даны строки S1, S2, S3, S4 и S5. Сформировать строку S слиянием всех пяти строк. Сформировать строку S работая со строками как с массивами....

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

Объединение строк, конвертация данных - C++
Собственно пара глупых вопросов :-) Сам я в основном пишу на Perl. Тут понадобилось писать на C под WinCC 1) Как объединить...

Объединение строк и запись в файл - C++
Небольшая задача на C++ состоит в том что из файла t.txt считываются строки, затем заносятся в массив, объединяются и записываются в файл...

Класс множество, не работают функции объединение и разность множеств - C++
Реализован класс множество. В алгоритме не работают 2 функции, объединение и разность множеств. #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

Как правильно произвести объединение строк? - C++
Недавно решил перейти на С, в связи с этим первые проблемы. Подскажите пожалуйста как правильно произвести объединение строк в С. ...


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

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

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