You need to overload the constructor.
MyClass(const MyClass& my_class) : _member(my_class._member) ...
MyClass(const MyClass& my_class, member) : _member(member) ...
Default members are no overloads. They are just default arguments that
are passed by the caller when no argument is given.
This might look similar to overloading but it is entirely different. If
you change a default parameter you need to recompile every caller. If
you change the overloaded implementation (without the additional
parameter) to assign another default value you need to recompile the
callee only.
Marcel