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

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

Войти
Регистрация
Восстановить пароль
 
Ingvar2
2 / 2 / 1
Регистрация: 22.07.2015
Сообщений: 36
#1

Добавить в класс String реализацию конструктора копирования - C++

12.10.2015, 10:40. Просмотров 523. Ответов 1
Метки нет (Все метки)

Необходимо добавить в класс String реализацию конструктора копирования. Инвариант класса должен остаться тем же (в size хранится размер строки без завершающего 0 символа, str указывает на C-style строку, т. е. с завершающим нулевым символом).

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <cstddef> // size_t
#include <cstring> // strlen, strcpy
 
struct String {
    String(const char *str = "");
    String(size_t n, char c);
    ~String();
 
 
    /* Реализовать конструктор копирования */
    String(const String &other)
 
    void append(const String &other);
 
    size_t size;
    char *str;
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2015, 10:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Добавить в класс String реализацию конструктора копирования (C++):

Добавить в класс String реализацию конструктора копирования - C++
Инвариант класса остается тем же (в size хранится размер строки без завершающего 0 символа, str указывает на C-style строку, т. е. с...

Подскажите реализацию конструктора копирования - C++
Подскажите пожалуйста как реализовать конструктор копирования. #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; using...

Std::vector добавить новый элемент собственного класса без использования конструктора копирования - C++
Всем привет! Есть один класс, который я хочу хранить в std::vector. Создать массив, с типом своего класса, грубо говоря. Естественно,...

В чём отличия конструктора копирования и конструктора перемещения? Где и как их нужно использовать? - C++
Помогите разобраться в копирующем и перемещающем конструкторах. В чём их существенное отличие и какой плюс от использования перемещающего...

Вынести реализацию конструктора производного класса - C++
Хочу сделать родитель очередь. и класс задачи, который является производным. Прототип класса в хедере, который заинклюден в файл...

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

1
nmcf
5776 / 5087 / 1738
Регистрация: 14.04.2014
Сообщений: 20,827
12.10.2015, 13:08 #2
C++
1
2
3
4
5
6
7
8
9
10
String(const String &other)
{
    if (size != other.size)
    {
        size = other.size;
        delete[] str;
        str = new char[size + 1];
    }
    strcpy(str, other.str);
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2015, 13:08
Привет! Вот еще темы с ответами:

Касательно конструктора копирования - C++
Вопрос следующий. У меня есть класс &quot;Точки&quot; есть класс &quot;группы&quot; и есть класс &quot;возможные группы&quot;. 3 класса. в классе &quot;группы&quot; есть...

Грамотное использование конструктора копирования - C++
Всем добрый вечер. Есть класс list(двухсвязный). Задача гласит: Сгенерировать некоторую последовательность чисел, вывести на экран, и затем...

Реализация конструктора копирования и перегрузки = - C++
#include &lt;iostream&gt; #include &lt;cstring&gt; using namespace std; class Cow{ private: char name; char *...

Пример конструктора копирования не понятен - C++
Задание: есть класс, одним из пунктом является написание класса копирования. Есть такой код Phone::Phone(Phone *a){ ...


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

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

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