Хорошо, этот вопрос меня смутил. Сначала я думал, что вы хотите автоматически создать clone (), и я собирался направить вас к обсуждению , которое я провел пару лет назад .
Однако ... это не похоже на то, что вы хотите. Поэтому я просто рассмотрю ваши предположения:
Всякий раз, когда кто-либо добавляет элемент данных в этот класс, он должен помнить об обновлении метода Clone ().
Почему ?? Конечно, вы реализовали clone () в терминах конструктора копирования.
struct X { X* clone() const { return new X(*this); } };
Модульные тесты не найдут ошибку, если они не будут обновлены или у класса есть метод сравнения на равенство, который является модульным тестом и обновлен для сравнения нового члена.
Это не должно быть проблемой, поскольку вы наверняка обновили модульный тест ПЕРЕД добавлением члена ...
У кого-нибудь еще есть проблема с Clone () по этой причине?
Нет, я могу с уверенностью сказать, что у меня никогда не было ваших особых проблем с клоном ().