Есть класс с большим количеством свойств. Нужно сделать для него конструктор копирования.В моем случае, основное назначение конструктора копирования - это чтобы во включенных классах (несколько свойств у меня являются классами) обновить указатели на данный копируемый объект. Если этого не сделать, включенные классы будут хранить некорректные ссылки на размещение исходного объекта, а не скопированного.
Обычных свойств, которые просто копируются - много. А свойств-классов с обратными ссылками - пара штук.
Вопрос. Есть ли какая-нибудь возможность в конструкторе копирования одной командой скопировать все свойства, чтобы после нее прописать команды обновления ссылок?
Или нужно прописывать копирование каждого свойства отдельно, а потом еще все время следить, чтобы в случае изменения класса (добавления свойств) добавляемые свойства были обработаны в конструкторе копирования?
>[оверквотинг удален]
> классах (несколько свойств у меня являются классами) обновить указатели на данный
> копируемый объект. Если этого не сделать, включенные классы будут хранить некорректные
> ссылки на размещение исходного объекта, а не скопированного.
> Обычных свойств, которые просто копируются - много. А свойств-классов с обратными ссылками
> - пара штук.
> Вопрос. Есть ли какая-нибудь возможность в конструкторе копирования одной командой
> скопировать все свойства, чтобы после нее прописать команды обновления ссылок?
> Или нужно прописывать копирование каждого свойства отдельно, а потом еще все время
> следить, чтобы в случае изменения класса (добавления свойств) добавляемые свойства были
> обработаны в конструкторе копирования?Запилить базовый класс, куда вынести все автоматом копируемые свойства. В дочернем оставить пару ссылок (указателей). В конструкторе дочернего вызвать сначала конструктор базового, а потом написать код про копирование ссылок/указателей.
не надо ничего писать, он автоматически сгенерируется компилятором