Здравствуйте, johny5, Вы писали:
J>На самом деле их писать не нужно — только ошибок понаделаете и отключите заодно генерацию move конструкторов.
J>Члены класса должны сами знать как себя копировать. Тогда автоматически сгенерированные конструкторы окажутся подходящими.
J>Перегружать копирование редко нужно только для утилитарных классов типа shared_ptr.
J>--
J>Если совсем никак не обойтись, можно покурить такую тему (C++11):
J>J>class Copy
J>{
J>public:
J> Copy() {}
J> Copy(const Copy& it) : Copy()
J> {
J> *this = it;
J> .. add here your specific 'copy adjust' code ..
J> }
J>protected:
J> void operator=(const other& it) = default;
J>
это почти что нужно, за исключение одного НО — как в вашем варианте определить еще и свой оператор присваивания (ведь если задача требует определения своего конструктора копирования, то нельзя оставлять "нэйтивный" оператор присваивания)?