Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Ingvar2
2 / 2 / 1
Регистрация: 22.07.2015
Сообщений: 36
#1

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

12.10.2015, 10:40. Просмотров 592. Ответов 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 реализацию конструктора копирования
Инвариант класса остается тем же (в size хранится размер строки без...

Подскажите реализацию конструктора копирования
Подскажите пожалуйста как реализовать конструктор копирования. #include...

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

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

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

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

1
nmcf
6247 / 5559 / 2529
Регистрация: 14.04.2014
Сообщений: 23,375
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
Привет! Вот еще темы с решениями:

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

Пример конструктора копирования не понятен
Задание: есть класс, одним из пунктом является написание класса копирования....

Не понятна работа конструктора копирования
Добрый день! Читаю Шилдта базовый курс. Дошел до конструктора копии.В книжных...

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


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

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

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