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

Разработать класс String, который в дальнейшем будет использоваться для работы со строками - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ одномерный массив http://www.cyberforum.ru/cpp-beginners/thread1549704.html
В одномерном массиве размещены: в первых элементах-значения аргумента, в следующих-соответствующие им значения функции. Напечатать элементы этого массива в виде двух параллельных столбцов (аргумент и значение функции)
C++ Лямбда-выражение и поиск значения в векторе Необходимо реализовать простенькую программку поиска значения в векторе. Но сделать это нужно с помощью лямбда-выражения. Как? #include "stdafx.h" using namespace std; int main() { http://www.cyberforum.ru/cpp-beginners/thread1549702.html
Как указать числа в коде? C++
Есть линейный алгоритм с переменными.Типы исходных данных p,q вводятся с клавиатуры p-целое q-действительное.Как мне это указать в коде? #include <iostream> #include <math.h> #include <conio.h> #include <stdio.h> using namespace std; int main() { setlocale(LC_ALL, "Russian"); float p, q, n, m, k; cout << "Введите P \n";
Найти произведение: P = 1.1 · 1.2 · 1.3 · 1.4.... C++
Дано натуральное число N. Найти произведение: P = 1.1 · 1.2 · 1.3 · 1.4 · ... (произведение вклчает в себя N сомножителей) . Посчитать в цикле
C++ Использование хэшсета в задаче выбора всех попарно различных элементов массива http://www.cyberforum.ru/cpp-beginners/thread1549684.html
Можно пример использования хэшсета в задачи выбора всех попарно различных элементов массива ? Т.е. чтоб небыло одиннаковых. Я читал, что для таких задач используют хэш - таблицы. Как это делать?
C++ Прокси в программе Мне нужно использовать прокси в программе.. Как это можно реализовать в VS? подробнее

Показать сообщение отдельно
nmcf
4278 / 3709 / 1246
Регистрация: 14.04.2014
Сообщений: 14,503
12.10.2015, 18:18     Разработать класс String, который в дальнейшем будет использоваться для работы со строками
Оператор + требует оператор присваивания. Почему не добавил? И конструкторы у тебя кривоваты.
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <iostream>
#include <string>
using namespace std;
 
class string_
{
private:
    char *strings;
    int len;
public:
    string_()
    {
        len = 80;
        strings = new char[len + 1];
        *strings = '\0';
    }
    string_(int l)
    {
        len = l;
        strings = new char[len + 1];
        *strings = '\0';
    }
    string_(const char* s)
    {
        len = strlen(s);
        strings = new char[len + 1];
        strcpy(strings, s);
    }
    string_(const string_ &news)
    {
        len = news.len;
        strings = new char[len + 1];
        strcpy(strings, news.strings);
    }
    ~string_()
    {
        delete[] strings;
    }
 
    string_ operator + (const string_& right)
    {
        char *s = new char[len + right.len + 1];
        string_ result(strcat(strcpy(s, strings), right.strings));
        delete[] s;
        return result;
    }   
 
    string_& operator = (const string_& right)
    {
        len = right.len;
        delete[] strings;
        strings = new char[len + 1];
        strcpy(strings, right.strings);
        return *this;
    }   
 
    friend istream& operator >> (istream& stream, string_& orig);
    friend ostream& operator << (ostream& stream, const string_& orig);
};
 
istream& operator >> (istream& stream, string_& orig)
{
    stream >> orig.strings;
    return stream;
}
 
ostream& operator << (ostream& stream, const string_& orig)
{
    stream << orig.strings;
    return stream;
}
 
int main()
{
    string_ string1, string2(80), string3;
 
    cout << "Enter string 1: ";
    cin >> string1;
 
    cout << "Enter string 2: ";
    cin >> string2;
 
    cout << string1 << " + " << string2;
    string3 = string1 + string2;
    cout << " = " << string3 << endl;
 
    return 0;
}
 
Текущее время: 01:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru