создание объектом собственной копии |
Здравствуйте, гость ( Вход | Регистрация )
создание объектом собственной копии |
good_game |
20.2.2012, 11:28
Сообщение
#1
|
Студент Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0 |
Есть такая ситуация.
Имеем базовый класс class1. От него наследуются классы class2 и class3. Нужно, чтобы объекты class2 и class3 умели создавать в динамической памяти собственные копии. Пусть это будет метод CreateCopy(). Какие будут мысли по этому поводу? Подскажите мудрое решение. Мои мысли (чувствую, что тупое решение): Определить методы class2 * class2::CreateCopy() class3 * class3::CreateCopy() в классах class2 class3. НО! Объекты типов class2 и class3 лежат в одном списке. Как использовать такой метод, пробегаясь по списку? Это очень важно. |
|
|
Влад |
20.2.2012, 12:00
Сообщение
#2
|
Участник Группа: Участник Сообщений: 146 Регистрация: 20.3.2009 Из: Санкт-Петербург Пользователь №: 627 Спасибо сказали: 46 раз(а) Репутация: 8 |
Типичное решение (это классика):
|
|
|
good_game |
20.2.2012, 14:10
Сообщение
#3
|
Студент Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0 |
Благодарю за идею.
|
|
|
Гость_whatevillurks_* |
21.2.2012, 15:55
Сообщение
#4
|
Гости |
Есть еще вариант с фабрикой клонирования, в некоторых случаях это дает большую гибкость нежели использование виртуального метода клонирования в базовом классе. Более детально можно посмотреть в книгах A. Alexandrescu вики
|
|
|
Текстовая версия | Сейчас: 18.4.2024, 9:21 |