Здравствуйте, гость ( Вход | Регистрация )
archimed7592 | Дата 13.4.2008, 13:38 |
Цитата В данном случае, я думаю, как раз подразумевается обязательная перегрузка оператора =. А чем сгенерённый компилятором оператор здесь не подходит? Разве что только тем, что он открыт... Цитата Потому для реализации функции копирования (клонирования) и создается сначала просто объект класса, потом перегруженным присваиванием в него копируются изначальный объект. Вообще говоря классики рекомендуют делать это так: Т.е. посредством конструктора копирование, ибо это есть труъ . |
|
Novak | Дата 13.4.2008, 12:40 |
В данном случае, я думаю, как раз подразумевается обязательная перегрузка оператора =. Потому для реализации функции копирования (клонирования) и создается сначала просто объект класса, потом перегруженным присваиванием в него копируются изначальный объект. Потому, да Цитата this позволит данные текущего экземпляра скопировать |
|
archimed7592 | Дата 13.4.2008, 0:26 |
Смотри:
Здесь pB играет роль указателя на вновь созданый объект, а pA - на изначальный. Остальное - обыкновенное присваивание(либо сгенерённое компилятором, либо написаный автором класс operator =). |
|
Litkevich Yuriy | Дата 12.4.2008, 18:48 |
Наткнулся в Qt'явых примерах на такой код:
смысл строчки ( *item = *this; ) непойму, ведь экземпляр уже создан, и именно этого класса ( SpreadSheetItem *item = new SpreadSheetItem(); ) this позволит данные текущего экземпляра скопировать? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.3.2024, 1:55 |