crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Litkevich Yuriy
  опции профиля:
сообщение 12.4.2008, 18:48
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Наткнулся в Qt'явых примерах на такой код:
QTableWidgetItem *SpreadSheetItem::clone() const
{
    SpreadSheetItem *item = new SpreadSheetItem();
    *item = *this;
    return item;
}

смысл строчки ( *item = *this; ) непойму,
ведь экземпляр уже создан, и именно этого класса ( SpreadSheetItem *item = new SpreadSheetItem(); )

this позволит данные текущего экземпляра скопировать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Novak
  опции профиля:
сообщение 13.4.2008, 12:40
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 319
Регистрация: 15.3.2008
Из: Замкадыш
Пользователь №: 121

Спасибо сказали: 28 раз(а)




Репутация:   6  


В данном случае, я думаю, как раз подразумевается обязательная перегрузка оператора =.
Потому для реализации функции копирования (клонирования) и создается сначала просто объект класса, потом перегруженным присваиванием в него копируются изначальный объект. Потому, да
Цитата
this позволит данные текущего экземпляра скопировать
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 20.6.2025, 21:37