198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
|
||||||
1 | ||||||
Параметр rhs, что это и для чего (конструктор-копировщик)19.05.2013, 22:37. Показов 12125. Ответов 5
Метки нет (Все метки)
Вот код:
Кликните здесь для просмотра всего текста
В строке 9 используется параметр rhs, подскажите, что именно он делает, как работает. В книге про него мало написано, его расшифровка и перевод (стоящий справа). Я так понимаю именно из-за параметра rhs в строке 28 он копирует все данные из объекта класса AAA в объект класса BBB и в данном случае, стоящий справа это и имеется ввиду jurnal BBB(AAA); что AAA стоит справа, я правильно понимаю? Или что имеет введу под словами "стоящий справа"?
0
|
19.05.2013, 22:37 | |
Ответы с готовыми решениями:
5
Конструктор копирования производных классов: для чего это нужно? Конструктор-копировщик Конструктор копировщик Конструктор-копировщик |
138 / 130 / 59
Регистрация: 13.12.2012
Сообщений: 293
|
|
19.05.2013, 22:42 | 2 |
Аргумент этот может называться по любому. Конструктор копирования принимает объект по ссылке и копирует его
0
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
|
|
19.05.2013, 22:46 [ТС] | 3 |
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
19.05.2013, 22:51 | 4 |
все правильно понимаете.
только в вашем случае самописный конструктор копирования не обязателен. сгенеренный компилятором делает то же самое. Добавлено через 2 минуты rhs - общепринятое сокращение от right side hand (по правую руку, стоящий справа). Справа от какого-нибудь оператора. Оператора = или любого другого. В конструкторе копирования я предпочитаю называть параметр 'other', т.к. Object o2 = o1; // тут понятно, rhs вроде хорошее имя параметра Object o3(o1); // тут не очень. никакого оператора нет.
1
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
|
|
19.05.2013, 22:55 [ТС] | 5 |
т.е. rhs (стоящий справа) это имеется ввиду что AAA стоит справа в строке jurnal BBB(AAA) ?
Да, конструктор-копировщик по умолчанию и так все это делает, но нужно знать как оно работает не по умолчание.
0
|
Форумчанин
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||||||
20.05.2013, 02:46 | 6 | |||||
VLK, rhs всего лишь название переменной. Если сменить на superRHS или rhs123, ничего не поменяется.
Конструктор копий создает объект на основе свойств (членов) другого - переданного по константной ссылке. Обычно это выглядит так:
1
|
20.05.2013, 02:46 | |
20.05.2013, 02:46 | |
Помогаю со студенческими работами здесь
6
конструктор копировщик-смысл? Конструктор - копировщик: ошибка Виртуальный конструктор копировщик. Конструктор копировщик объектов, содержащих массивы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |