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