С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/40: Рейтинг темы: голосов - 40, средняя оценка - 4.83
2 / 2 / 0
Регистрация: 04.03.2015
Сообщений: 76
1

Копиконструктор строки

07.10.2015, 19:29. Показов 7871. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Реализовать конструктор, который принимает на вход C-style строку, вычисляет ее размер (без учета завершающего 0 символа) и сохраняет его в поле size, кроме того, конструктор должен аллоцировать память достаточную для хранения копии переданной строки (вместе с завершающим 0 символом), копирует переданную строку в выделенную память и сохраняет указатель на начало этой области памяти в поле str. Т.е. в результате работы конструктора в поле str должен оказаться указатель на C-строку c копией исходной строки, а в поле size — длина строки без учета завершающего нулевого символа.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2015, 19:29
Ответы с готовыми решениями:

Копиконструктор
написал такой код но выдает ошибку . надо написать Copy constructor . помогите пожалуйста ...

Даны три строки. Определить можно ли из символов третьей строки получить первую и вторую строки
Помогите пожалуйста! 1)Даны три строки. Определить можно ли из символов третьей строки получить...

Ввести строки и через n символов первой строки вставить вторую строку, и так до конца строки
Помогите исправить баг задача состоит в следующем :ввести строку и простроку тоесть две строки и...

Сравнить строки, первый несовпадающий элемент строки-приемника записать в регистр AL, строки-источника - в DL
Помогите написать программу на ассемблерене совсем еще разобрался с этим задание: Ввести с...

4
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
28046 / 15779 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
07.10.2015, 19:31 2
Это видимо вам нужно реализовать конструктор?
0
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
08.10.2015, 13:26 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
#include <cstddef> // size_t
#include <cstring> // strlen, strcpy
 
struct String {
    String(const char *str = "");
    String(size_t n, char c);
    ~String();
    void append(String &other);
 
    size_t size;
    char *str;
};
 
void String::append(String & other) {
    char * temp = new char[size + other.size+1];
    for(size_t i = 0; i < size; ++i)
        temp[i] = str[i];
    for(size_t j=0; j < other.size; ++j)
        temp[size+j] = other.str[j];
    temp[size + other.size] = 0;
 
    delete[] str;
    str = temp;
    size += other.size;
}
1
Эксперт по математике/физикеЭксперт С++
2206 / 1411 / 411
Регистрация: 16.05.2013
Сообщений: 3,597
Записей в блоге: 6
08.10.2015, 13:38 4
ture,
C++
1
void String::append(const String & other)
1
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
08.10.2015, 13:45 5
Лучший ответ Сообщение было отмечено lerka1996 как решение

Решение

Упс! промазал. Этот правильный:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <cstddef> // size_t
#include <cstring> // strlen, strcpy
 
struct String {
    String(const char * str = "");
    size_t size;
    char *str;
};
 
String::String(const char * str) {
    size = strlen(str);
    this->str = new char[size+1];
    for(size_t i = 0; i <= size; ++i)
        this->str[i] = str[i];
}
3
08.10.2015, 13:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2015, 13:45
Помогаю со студенческими работами здесь

Слить две строки, вставив символы одной строки между символами другой строки
Строка a из n символов лексикографически меньше строки b из n символов, если существует такой...

Определить длину строки. Если длина строки >6, удалить часть строки в { } скобках.
Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши &quot;Ввод&quot;....

Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки
Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки...

Строки. Если в конце строки точка отсутствует, то найти слово, заканчивающееся точкой и перенести его в конец строки.
Дана строка, состоящая из слов и содержащая одну точку в конце одного из слов. Если в конце строки...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru